【问题标题】:JSTL test and HTML inputJSTL 测试和 HTML 输入
【发布时间】:2012-05-03 13:25:27
【问题描述】:

我的 JSP 页面中有类似的内容:

<% if(id!=null) { %>
     <input type="hidden" name="id" value="<%= id %>" />
<%
}
%>

当我想编辑一个用户 id 不应该为空时,我想在我的 HTML 中输入。 但是,当我要添加一个用户 id 时应该为 null,所以我不输入什么。

它适用于该代码。但我想使用 JSTL 我尝试使用 c:if 和 c:when :

<c:choose>
    <c:when test="${id != null }">
        <input type="hidden" name="id" value="<%=id%>" />
    </c:when>
    <c:otherwise>
        <br/>
    </c:otherwise>
</c:choose>

问题是当id 为空或非空(添加和编辑)时,此代码显示&lt;br /&gt;...而且我不明白为什么它不起作用。

感谢您的帮助,

S

【问题讨论】:

    标签: java jsp jakarta-ee jstl


    【解决方案1】:

    问题是您的变量 id 不在 jstl 可以到达的范围内。 你需要做的:

    pageContext.setAttribute("id", id);
    

    另外,最好针对空进行测试:

    <c:when test = "${!empty id}">
    

    最后,输出id的值时应该使用jstl:

    <input type="hidden" name="id" value="${id}" />
    

    【讨论】:

    • 完美!确实 id 不在范围内。感谢您的提示。
    猜你喜欢
    • 2012-12-13
    • 2012-07-23
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 2011-03-26
    相关资源
    最近更新 更多