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>

問題は、このコードがnullまたはnull以外(追加および編集)の<br />ときに表示されるidことです...そして、なぜそれが機能しないのかわかりません。

ご協力いただきありがとうございます、

S

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 に答える