2015-02-08 53 views
2

我目前正在研究我的第一个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> 

回答

1

的同样的事情 - 让我们说,所选择的城市被保存在request.city。

您需要确保所选择的选项在你的JSP像这样的“选择”属性:

<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之间:如果“只有在测试评估为真时才会将HTML元素输出为HTML。因此,所有此测试都会确定所选城市是否等于该选项所代表的值,并且如果是,则将“selected”属性添加到该元素。

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>