Expression Language

8 respostas
Rafael_Nunes

Buenas,
Tô tentando utilizar EL aqui em alguns testes, mas estou com alguns problemas.
Estou testando isso no Tomcat 5.0, creio que ele já suporte EL, pois suporta a especificação 2.0 do JSP.

Na minha página JPS, estou tentando fazer o seguinte:

${pageContext.request.requestURI}

E ele deveria imprimir o conteúdo da URI, ou ao menos um null, porém não está reconhecendo a EL, ele imprime o próprio código da declaração:

${pageContext.request.getRequestURI}

Tenho de declarar algo no web.xml ou na página para utilizar EL. Até o momento não encontrei nada que me indicasse isso.
Grato

8 Respostas

skill_ufmt

Rafael Nunes:
Até o momento não encontrei nada que me indicasse isso.
Grato

Mude sua DTD dentro do web.xml para a versão 2.4

Na sua JSP, inclua a seguinte tag: <%@ page isELIgnored=“false”>

Abraços

Rafael_Nunes

eita que eu não ia descobrir isso nunca.
Agora funcionou, valeus brother.

mister_m

Teoricamente, só mudar o DTD deveria funcionar, i.e., você não deveria ser obrigado a colocar isELIgnored em todas as páginas. Verifique se funciona, assim você terá menos trabalho.

skill_ufmt

Fala mister,

pois é, também acredito que não precisaria em todas as JSPs, disse para colocar logo, pois ontem me perguntaram a mesma coisa, e segundo a pessoa, somente estava funcionando com a inclusão da tag na jsp(segundo ele, eu não cheguei a testar em todas), então já mandei os dois logo :wink:

Se colocar true ele também para de funcionar.

Mas deveria funcionar sem mesmo.

Rafael_Nunes

Eu tentei modificando só a versão da DTD e não funcionou.
Só funciona com a declaração isElIgnored=“false”. Mas também creio que não modifiquei no lugar correto.

onde estava:

Inc.//DTD Web Application 2.3//

eu modifiquei para:

Inc.//DTD Web Application 2.4//

Porém na url:

http://java.sun.com/dtd/web-app_2_3.dtd

Eu não posso colocar 2_4 porque não acha a dtd.

skill_ufmt

Rafael Nunes:
Eu tentei modificando só a versão da DTD e não funcionou.
Só funciona com a declaração isElIgnored=“false”. Mas também creio que não modifiquei no lugar correto.

onde estava:

Inc.//DTD Web Application 2.3//

eu modifiquei para:

Inc.//DTD Web Application 2.4//

Porém na url:

http://java.sun.com/dtd/web-app_2_3.dtd

Eu não posso colocar 2_4 porque não acha a dtd.

Muito estranho, realmente você deveria por 2_4.dtd, teria que funcionar, e é ai onde disse para você alterar, ontem mesmo testei isso e funciona perfeitamente, peça para validar o xml após você modificar.

Se você realmente não mudou isso, eu me condiciono a dizer, que o que está operando sobre a EL, foi a tag que lhe passei, excluindo qualquer possibilidade de interferência em relação ao web.xml

Rafael_Nunes

Creio que o problema então é com o caminho da DTD 2.4, pois se eu acessar pelo browser a 2.3:

http://java.sun.com/dtd/web-app_2_3.dtd

Ele me apresenta a DTD no browser, porém se eu acessar a 2.4:

http://java.sun.com/dtd/web-app_2_4.dtd

Ele apresenta ‘Page Not Found’, se eu colocar 2_4 no web.xml, o tomcat me informa ‘FileNotFoundException’.

Rafael_Nunes

Hun, já achei qual foi a besteira, eu tenho de declarar meu web.xml pelo XML schema com:

&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" version="2.4"&gt;
Agora sim funcionou sem a declaração no JSP.
Valeus.

Criado 25 de abril de 2005
Ultima resposta 25 de abr. de 2005
Respostas 8
Participantes 3