【问题标题】:Illogical jsp error不合逻辑的jsp错误
【发布时间】:2010-10-20 20:01:20
【问题描述】:

我想显示一个在事件发生后从 servlet 返回到 jsp 的结果参数。 所以当我添加新用户时,例如一个结果参数返回用户已成功添加的值,我想在 jsp 页面中显示结果。 我在jsp页面里做这样的

<%String result = String.valueOf(request.getAttribute("result"));%>
 <%if (result != null){%>
 <%= result%>
<%}%>

问题是每次我第一次打开页面时,结果都会在浏览器中打印为 null,即使我写了如果不是 null 打印结果值,问题出在哪里?有人可以帮忙/

【问题讨论】:

    标签: java jsp


    【解决方案1】:

    String.valueOf(..) 返回 "null"(一个长度为 4 的 String)如果参数是 null。因此,您的快速解决方案是根本不使用String.valueOf(..)

    但是,不建议在您的 JSP 中使用类似的 scriptlet 和 java 代码。请改用 JSTL 和 EL。您的代码如下所示:

    <c:if test="${result != null}">
        ${result}
    </c:if>
    

    【讨论】:

    • 即使我制作它也不起作用 if(result.equals("null")){print result}
    • 我建议彻底摆脱String.valueOf(..)。将字符串与“null”字符串进行比较是没有意义的
    • 很多thanx,但为什么不建议在jsp页面中使用scriptlet?
    • @Alaa - 看到这个问题stackoverflow.com/questions/2188706/… 和 BalusC 的回答
    • 实际上,就是这个 :) stackoverflow.com/questions/3177733/… 然而,在之前的问题中,OP 曾多次被告知/链接过。
    猜你喜欢
    • 2020-06-14
    • 2014-07-13
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多