0

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

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

当我想编辑一个用户 id 应该是非 null 时,我希望在我的 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>

问题是这段代码<br />何时显示id为空或非空(添加和编辑)......而且我不明白为什么它不起作用。

谢谢你的帮助,

小号

4

1 回答 1

3

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

pageContext.setAttribute("id", id);

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

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

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

<input type="hidden" name="id" value="${id}" />
于 2012-05-03T13:30:04.640 回答