2

ページに渡された情報に基づいて、ドロップダウン メニューのデフォルト値を設定しようとしています。これまでのところ、私はこれを持っています:

<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」変数と同じです。

4

1 に答える 1

1

1:
... アイデアは大丈夫​​です。最初にデータ値の出力を取得してから、選択に進みます。解析エラーはわかりにくい可能性があるため、質問を編集してエラーを追加してみませんか

2:最初にそれも出力できることを確認してください。それが「if」が爆発する理由かもしれません

于 2012-08-22T20:27:41.110 に答える