从请求中选择输入值

时间:2015-02-08 14:41:00

标签: html jsp java-ee

我目前正在开发第一个Web应用程序。用户需要填写表单,其中一个信息是“城市”,作为选择类型输入。如果用户选择了一个城市,但其中一个信息无效,我希望所选城市在用户修复无效输入时留在那里。

例如,我是为用户需要输入的日期做的:

<input type=date name="endDate" value="<c:out value="${requete.endDate}"/>">

它正在工作,但对于选择类型输入我不知道该怎么做..

<select name="city">
    <option value="City" selected>City</option>
    <option value="Ottawa">Ottawa</option>
    <option value="Toronto">Toronto</option>
    <option value="Montreal">Montreal</option>
</select>

2 个答案:

答案 0 :(得分:1)

同样的事情 - 假设选定的城市存储在request.city中。

您需要确保所选选项在JSP中具有“selected”属性,如下所示:

<select name="city">
    <option value="City" 
        <c:if test="${empty request.city}">selected</c:if>>
        City
    </option>
    <option value="Ottawa" 
        <c:if test="${request.city == 'Ottawa'}">selected</c:if>>
        Ottawa
    </option>
    <option value="Toronto" 
        <c:if test="${request.city == 'Toronto'}">selected</c:if>>
        Toronto
    </option>
    <option value="Montreal" 
        <c:if test="${request.city == 'Montreal'}">selected</c:if>>
        Montreal
    </option>
</select>

因此,总结一下这是做什么的 - “c:if”元素之间的任何内容只有在测试评估为true时才会输出为HTML。因此,所有这些测试都确定所选城市是否等于该选项所代表的值,如果是,则将“selected”属性添加到该元素。

答案 1 :(得分:1)

尝试使用简单的ELselected属性:

<select name="city">
    <option value="City" selected>City</option>
    <option value="Ottawa" ${'Ottawa' eq param.city ? 'selected' : ''}>Ottawa</option>
    <option value="Toronto" ${'Toronto' eq param.city ? 'selected' : ''}>Toronto</option>
    <option value="Montreal" ${'Montreal' eq param.city ? 'selected' : ''}>Montreal</option>
</select>