如何根据JSP中传递的servlet字段设置Select选项卡的selected属性?

时间:2016-05-24 08:22:12

标签: java jsp servlets

在我的网络应用程序中,我正在一个屏幕上工作,我想在屏幕上显示检索到的数据。在我的屏幕上,我有一个下拉的方向"。我从servlet设置这个字段的值。但是我没有办法在页面中默认显示所选选项。

<select name="indv_adr_mail_st_dir" value="${indv_adr_mail_st_dir}">
        <option value="EA">East</option>
        <option value="NE">North East</option>
        <option value="NO">North</option>
        <option value="NW">North West</option>
        <option value="SE">South East</option>
        <option value="SO">South</option>
        <option value="SW">South West</option>
        <option value="WE">West</option>
</select>

实现这一目标的方法是什么?

1 个答案:

答案 0 :(得分:0)

这不起作用的原因是<select>标签选择选项是通过将selected属性放在特定选项上而不是通过设置value属性来指定的。例如

<select name="test">
  <option value="yes">Yes</option>
  <option selected value="no">No</option> <!-- this is the selected option -->
</select>

对于您的代码,您可以使用ternary operator选择性地将selected属性放在选项

上来实现此目的
<select name="indv_adr_mail_st_dir">
        <option ${indv_adr_mail_st_dir=="EA"?"selected":""} value="EA">East</option>
        <option ${indv_adr_mail_st_dir=="NE"?"selected":""} value="NE">North East</option>
        <option ${indv_adr_mail_st_dir=="NO"?"selected":""} value="NO">North</option>
        <option ${indv_adr_mail_st_dir=="NW"?"selected":""} value="NW">North West</option>
        <option ${indv_adr_mail_st_dir=="SE"?"selected":""} value="SE">South East</option>
        <option ${indv_adr_mail_st_dir=="SO"?"selected":""} value="SO">South</option>
        <option ${indv_adr_mail_st_dir=="SW"?"selected":""} value="SW">South West</option>
        <option ${indv_adr_mail_st_dir=="WE"?"selected":""} value="WE">West</option>
</select>