有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JSTL测试和HTML输入

我的JSP页面中有这样的内容:

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

当我想编辑一个用户id时,应该是非空的,然后我想在我的HTML中输入。 然而,当我想添加一个用户id时,它应该是空的,所以我不知道该输入是什么

这段代码非常好用。但是我想使用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为空或非空(添加和编辑)时,此代码显示<br />。。。我不明白为什么它不起作用

谢谢你的帮助

S


共 (1) 个答案

  1. # 1 楼答案

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

    pageContext.setAttribute("id", id);
    

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

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

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

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