Eu tenho uma variável de um objeto na minha página JSP:
<%= ansokanInfo.getPSystem() %>
O valor da variável é o NAT que está correto e desejo aplicar certos elementos da página a este valor. Como faço para usar uma tag para conhecer o caso? Eu tentei algo como
<c:if test = "${ansokanInfo.getPSystem() == 'NAT'}">
process
</c:if>
Mas o acima não exibe nada. Como devo fazer isso? Ou posso usar scriptlets, ou seja,
<% if (ansokanInfo.getPSystem().equals("NAT"){ %>
process
<% } %>
Obrigado por qualquer resposta ou comentário.
getPSystem()
eansokanInfo
? você os define na solicitação ou acessa-os por meioimport
?Respostas:
Experimentar:
JSP / Servlet 2.4 (acho que é o número da versão) não suporta chamadas de método em EL e suporta apenas propriedades. Os contêineres de servlet mais recentes oferecem suporte a chamadas de método (ou seja, Tomcat 7).
fonte
<c:if test = "${ansokanInfo.PSystem == 'NAT' || ansokanInfo.PSystem == 'CAT'}">
fonte
Acho que as outras respostas perdem um detalhe importante sobre o nome da propriedade a ser usado na expressão EL. As regras para conversão de nomes de métodos em nomes de propriedades são especificadas em 'Introspector.decpitalize`, que faz parte do padrão do Java bean:
Portanto, no seu caso, o código JSTL deve ser semelhante ao seguinte, observe o 'P' maiúsculo:
fonte
Você pode usar scriptlets, no entanto, esse não é o caminho a seguir. Atualmente, os scriplets embutidos ou o código JAVA em seus arquivos JSP são considerados um mau hábito.
Você deve ler um pouco mais sobre JSTL. Se o objeto ansokanInfo estiver em seu escopo de solicitação ou sessão, imprimir o objeto (método toString ()) como este: $ {ansokanInfo} pode fornecer algumas informações básicas. $ {ansokanInfo.pSystem} deve chamar o método getter do objeto. Se tudo isso funcionar, você pode usar este:
fonte