Pergunta

Usando JDeveloper, comecei a desenvolver um conjunto de páginas da web para um projeto no trabalho.Como eu não sabia muito sobre JDev na época, corri até a Oracle para acompanhar alguns tutoriais.Os tutoriais JDev recomendaram fazer JSPX em vez de JSP, mas realmente não explicou o porquê.Você está desenvolvendo páginas JSPX?Por que você decidiu fazer isso?Quais são os prós/contras de seguir a rota JSPX?

Foi útil?

Solução

A principal diferença é que um arquivo JSPX (oficialmente chamado de 'documento JSP') pode ser mais fácil de trabalhar porque o requisito de XML bem formado pode permitir que seu editor identifique mais erros de digitação e de sintaxe enquanto você digita.

No entanto, também existem desvantagens.Por exemplo, um XML bem formado deve escapar de coisas como sinais de menor que, então seu arquivo pode acabar com conteúdo como:

<script type="text/javascript">
   if (number &lt; 0) {

A sintaxe XML também pode ser mais detalhada.

Outras dicas

JSPX tem alguns inconvenientes, na minha cabeça:

  1. É difícil gerar alguns tipos de conteúdo dinâmico;especialmente.gerando uma tag HTML com atributos opcionais (ou seja,ou dependendo de uma condição).As tags JSP padrão que deveriam resolver esse problema não funcionavam corretamente no dia em que comecei a usar JSPX.
  2. Não há mais & nbsp;:-p
  3. Você realmente deseja colocar todo o seu Javascript em arquivos separados (ou usar seções CDATA, etc.).IMHO, você deveria usar jQuery de qualquer maneira, então você realmente não precisa ter onclick, etc.atributos...
  4. As ferramentas podem não funcionar corretamente;talvez o seu IDE não suporte nada acima do JSP simples.
  5. No Tomcat 6.x, pelo menos nas versões/config que tentei, a saída gerada não possui formatação;apenas um pequeno aborrecimento, no entanto

Por outro lado:

  1. Força você a escrever XML correto, que pode ser manipulado mais facilmente que JSP
  2. As ferramentas podem realizar validação instantânea, detectando erros mais cedo
  3. Sintaxe mais simples, na minha humilde opinião

Uma linha de raciocínio totalmente diferente porque você deveria usar jspx em vez de jsp:

JSPX e EL tornam a inclusão de códigos javascript e java incorporados muito mais difícil e menos natural do que jsp.EL é uma linguagem adaptada especificamente para lógica de apresentação.

Tudo isso leva você a uma separação mais limpa entre a renderização da IU e outras lógicas.A desvantagem de muitos códigos incorporados dentro de uma página JSP(X) é que é praticamente impossível testar facilmente, enquanto praticar essa separação de preocupações torna a maior parte de sua lógica totalmente unidade testável.

Olá colega desenvolvedor JDeveloper!

Trabalho com páginas JSPX há mais de dois anos e nunca tive problemas com o fato de elas serem JSPX opostas a JSP.A escolha de usar JSPX foi meio forçada, pois uso JHeadstart para gerar páginas ADF Faces automaticamente e, por padrão, JHeadstart gera tudo em JSPX.

JSPX especifica que o documento deve ser um documento XML bem formado.Isso permite que as coisas sejam analisadas de maneira adequada e eficiente.Ouvi desenvolvedores dizerem que isso ajuda suas páginas a serem mais 'preparadas para o futuro' em oposição ao JSP.

Conforme declarado na documentação oficial do Spring 3.1

"A Spring fornece algumas soluções prontas para uso para JSP e JSTL pontos de vista."

Além disso, você deve pensar no fato de que o JSPX visa produzir uma saída compatível com XML puro.Portanto, se o seu alvo é HTML5 (que pode ser compatível com XML, mas aumenta a complexidade, veja meus próximos comentários), você terá dificuldade em atingir seu objetivo se estiver usando o Eclipse IDE ...Se o seu objetivo é produzir XHTML então opte pelo JSPX e o JDeveloper irá apoiá-lo...

Em um de nossos projetos cie fizemos um POC com JSP e JSPX e fizemos PROS e CONTRAs e minha recomendação pessoal foi usar JSP porque achamos muito menos restritivo e natural produzir HTML5 de uma forma não XML que também é menos restritiva e sintaxe mais compacta.Preferimos escolher algo menos restritivo e adicionar recomendações de "melhores práticas", como "não colocar java scriptlets" dentro de arquivos jsp.(Aliás, JSPX também permite colocar scriplets com jsp:scriptlet em vez de <% ...%>)

@Mateus-
ADF!O aplicativo no qual estou trabalhando atualmente possui 90% da camada de apresentação gerada pelo mod PL/SQL.Comecei a trabalhar em algumas telas novas e queria investigar outras opções que pudessem se encaixar em nossa arquitetura, sem ser um fardo de aprendizado (aumentando a complexidade dos modelos mentais do sistema/travando do sistema) para colegas desenvolvedores no equipe.Então, foi com o ADF que me deparei com o JSPX também.

Eu também vi uma observação "à prova de futuro"... mas não sabia até que ponto ela era bem fundamentada.

JSPX também é a tecnologia de visualização recomendada no Spring MVC/Spring Web Flow.

Além disso, outro problema que encontrei com JSPX é quando você deseja usar scriptlets.Concordo que o código limpo geralmente é bom e a lógica Java no JSP geralmente é ruim, mas há certos casos em que você deseja usar uma função utilitária para retornar um valor de string ou algo em que um TagLib ou o modelo (atributos de solicitação) seria um exagero .

Qual é a opinião de todos sobre scriptlets em JSP?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top