Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSTL测试和HTML输入_Java_Jsp_Jakarta Ee_Jstl - Fatal编程技术网

Java JSTL测试和HTML输入

Java JSTL测试和HTML输入,java,jsp,jakarta-ee,jstl,Java,Jsp,Jakarta Ee,Jstl,我的JSP页面中有如下内容: <% if(id!=null) { %> <input type="hidden" name="id" value="<%= id %>" /> <% } %> 当我想编辑一个用户id时,应该是非空的,然后我想在我的HTML中输入。 然而,当我想添加一个用户id时,它应该是空的,所以我不知道该输入是什么 它与该代码配合使用非常好。但是我想使用JSTL,我尝试过使用c:if和c:when: <c:c

我的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
为null或非null(添加和编辑)时,此代码显示

。。。我不明白为什么它不起作用

谢谢你的帮助


问题是变量id不在jstl可以到达的范围内。 您需要执行以下操作:

pageContext.setAttribute("id", id);
此外,最好针对空的数据进行测试:

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

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

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

问题在于变量id不在jstl可以到达的范围内。 您需要执行以下操作:

pageContext.setAttribute("id", id);
此外,最好针对空的数据进行测试:

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

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

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


完美!事实上,id不在范围内。谢谢你的提示。太好了!事实上,id不在范围内。谢谢你的提示。