comment comparer deux chaînes de caractères en utilisant si la condition à l'intérieur de page jsp?
Code Jsp:
<%
String usermailid=(String)session.getAttribute("Username");
System.out.println("value of session==="+usermailid.equals("null"));
String empty=null;
if(usermailid.equals("null")) {
%>
<% }
else
{%>
<%}%>
de sortie:
Apr 7, 2014 5:39:31 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.election_005fresults_jsp._jspService(election_005fresults_jsp.java:437)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
Dans le code ci-dessus je veux comparer deux chaînes de caractères.mais lorsque j'ai jamais comapare eux, je me suis arriver exception de pointeur null lorsque les deux valeurs sont nulles et de montrer la valeur comme faux??
si quelqu'un peut me dire quelle est la nature exacte de la comparaison de deux chaînes de caractères???
if (usermailid == null)
- Regardez ici, il n'y est une réponse possible stackoverflow.com/questions/1900843/...
- Éviter de Java dans les pages Jsp
- Tout d'abord, la chose la Plus Importante est de Ne pas Mettre de code Java à l'intérieur de la JSPs, il est de très mauvaise pratique.
Vous devez vous connecter pour publier un commentaire.
Utilisation simple de vérifier
essayer ce que cela va fonctionner.
les deux sont différents
Réponse
Ne pas écrire les scriptlets
<% %>
en JSP, parce que les scriptlets ne doit pas être utilisé dans des pages Jsp pour plus d'une décennie. Apprendre les JSP EL, le JSTL, et l'utilisation de servlet pour le code Java. Comment éviter de Code Java dans les pages JSP-Files?Donc, je suis à l'affichage de la solution à l'aide de EL syantax.
Ici
Username
est directement visée à partir de la session.empty
est l'opérateur qui vérifienull
vides.Vous pouvez utiliser
<c:if>
ou<c:when>
de contrôle conditionnel.Liens utiles
Ici vous obtenez usermailid null et que vous essayez de comparer avec la Chaîne de la valeur "null".
voir valeur null n'est rien(null) mais "null" est une Chaîne de caractères avec null comme texte.
d'abord supprimer cette ligne:
u peut simplement écrire ceci: