J'ai une variable d'un objet sur ma page JSP:
<%= ansokanInfo.getPSystem() %>
La valeur de la variable est NAT, ce qui est correct et je souhaite appliquer certains éléments de page pour cette valeur. Comment utiliser un tag pour connaître le cas? J'ai essayé quelque chose comme
<c:if test = "${ansokanInfo.getPSystem() == 'NAT'}">
process
</c:if>
Mais ce qui précède n'affiche rien. Comment dois-je le faire? Ou puis-je tout aussi bien utiliser des scriptlets ie
<% if (ansokanInfo.getPSystem().equals("NAT"){ %>
process
<% } %>
Merci pour toute réponse ou commentaire.
getPSystem()
etansokanInfo
? les définissez-vous dans la demande ou y accédez-vous viaimport
?Réponses:
Essayer:
JSP / Servlet 2.4 (je pense que c'est le numéro de version) ne prend pas en charge les appels de méthode dans EL et ne prend en charge que les propriétés. Les derniers conteneurs de servlet prennent en charge les appels de méthode (par exemple, Tomcat 7).
la source
<c:if test = "${ansokanInfo.PSystem == 'NAT' || ansokanInfo.PSystem == 'CAT'}">
la source
Je pense que les autres réponses manquent un détail important concernant le nom de propriété à utiliser dans l'expression EL. Les règles de conversion des noms de méthodes en noms de propriétés sont spécifiées dans «Introspector.decpitalize» qui fait partie du standard du bean java:
Donc, dans votre cas, le code JSTL devrait ressembler à ce qui suit, notez le 'P' majuscule:
la source
Vous pouvez utiliser des scriptlets, cependant, ce n'est pas la voie à suivre. De nos jours, les scripts en ligne ou le code JAVA dans vos fichiers JSP sont considérés comme une mauvaise habitude.
Vous devriez lire un peu plus sur JSTL. Si l'objet ansokanInfo est dans votre portée de requête ou de session, imprimer l'objet (méthode toString ()) comme ceci: $ {ansokanInfo} peut vous donner des informations de base. $ {ansokanInfo.pSystem} doit appeler la méthode getter d'objet. Si tout cela fonctionne, vous pouvez utiliser ceci:
la source