java|关于Select option默认选中及查询后选项值保留的问题

在jsp页面中经常会有关于下拉框选项的查询,一般我会用标签去循环从后台传来的对象或者集合数组。然后在下拉框中加载出数据库中的数据。一般的格式是这样的:






其中标签中的第一个是要在文本框中显示的(如果没有设置默认选项的话)
那么这就牵涉到一个小问题了,如何设置默认选项?
一般情况会是在写死的中使用,也就是说中的数据不是从数据库中加载出来的,而是直接写死在jsp里面的,比如:




如果是这样的话,文本框中依然是"请选择"(即第一个),如果想让文本框中默认为“宝马”,则需要在中加上selected = "selected"即
还是回到我原来的问题,首先补充说明一下我第一段代码的意思,operators是我从控制器(controller、action)中传过来的对象集合,用${operators }来获取。var="oper"是要在option中来调用这个对象的属性。
其中的问题就是,当我选择其中一个值然后查询会刷新出来一个页面,但是select文本框中的值又变回--Select All--,没有保留原来的值,这就给用户不好的体验,这种情况会导致用户可能忘记根据哪个条件来查询的了。所以必须点击刷新显示列表页面是保留select的值。
用上面的selected="seleced"肯定是行不通的
那么这就要结合的name属性以及的value值了
中加上${oper.operatorId == param['operatorId']?'selected':''}即:


其中oper.operatorId 是来自