ページに渡された情報に基づいて、ドロップダウン メニューのデフォルト値を設定しようとしています。これまでのところ、私はこれを持っています:
<td>
<select id="typeDropdown" name="typeDropdown">
<option value="val1" selected="selected">Value 1</option>
<option value="val2">Value 2</option>
</select>
</td>
そして、常に最初の値が選択されます。
ただし、Webページに提供された情報に基づいてデフォルトを設定するために、このようなことを行うことはできますか?
<c:if test="${not empty data}">
<c:set var="val" value="${data}" />
</c:if>
<td>
<select id="typeDropdown" name="typeDropdown">
<option value="val1" <c:if test="val eq 1">selected="selected</c:if> >Value 1</option>
<option value="val2" <c:if test="val eq 2">selected="selected</c:if> >Value 2</option>
</select>
</td>
wheredata
はリクエストの一部としてページに渡されます。構文がおそらく間違っていることは理解していますが、アイデアが正しいかどうかにもっと関心があります。
編集1:
それでうまくいきませんでした。私の努力に対して、次の例外を受け取りました。
org.apache.jasper.JasperException: An exception occurred processing JSP page /newInterface.jsp at line 127
124: <td>Field 1:</td>
125: <td><select name="field1">
126: <c:set var="tet" value="val1"/>
127: <option value="val1" <c:if test="${old.val eq tet}">selected="selected"</c:if>>val1</option>
128: <option value="val2">val2</option>
129: </select>
130: </td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
old.val
すべての意図と目的のために、私の最初のアイデアの「val」変数と同じです。