我尝试根据传入页面的信息设置下拉菜单的默认值。到目前为止,我有这个:
<td>
<select id="typeDropdown" name="typeDropdown">
<option value="val1" selected="selected">Value 1</option>
<option value="val2">Value 2</option>
</select>
</td>
这将始终选择第一个值。
但是,我可以根据提供给网页的信息设置默认值吗?
<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>
其中data
作为请求的一部分传递到页面中。我理解语法可能是错误的,但我对这个想法是否合理更感兴趣。
编辑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
与&#34; val&#34;相同。从我最初的想法变化。
答案 0 :(得分:1)
1:
...这个想法没问题,首先得到数据值输出,然后继续选择,解析错误可能很神秘,所以为什么不编辑问题并添加错误
2: 因此,请确保您也可以先输出,这可能就是“if”爆炸的原因