struts2 select标签 下拉列表

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:25   1254   0

在写项目的时候需要用到下拉列表,遇到点问题,谷哥后总结如下:

select里面有:
headerValue : 默认值value
headerKey : 默认name
list : 源数据 (可以在action方法里从数据库获取list)
name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
listKey : 下拉选项的name
listValue : 下拉选项的value
value : 默认值

(1)其中 list是必须具备的属性 list中可以存储map list set类型的数据

list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(2)如果list为空headKey 和headValue不能为空.listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option

(3)name属性:即是表单中select的名称。

自己使用中用到的:

1、下拉列表为action里面的list:

action里面:

DateUtil td = new DateUtil();
list = new ArrayList<String>();
list.add(td.getNowTime());
list.add(td.getTomorrow());
list.add(td.getThirdDay());

DateUtil是自己写的一个获取时间的工具类,里面内容类似于:

// 获取当月第一天
public String getFirstDayOfMonth(String format){
String firstDay="";
SimpleDateFormat time=new SimpleDateFormat(format);
Calendar cal=Calendar.getInstance();//返回Calendar的一个对象
cal.set(Calendar.DATE,1); // 设置当前月的1号
firstDay=time.format(cal.getTime());
return firstDay;
}

jsp:

<s:select name="day" label="选择日期:" list="%{#request.list}" />

其中name是给这个下拉列表取的名字,在jsp页面里面取的值就用day来获取。

2、从别的表中遍历数据 填充进入下拉菜单 用<s:select>标签显示:

jsp:

<s:select list="mrList" label="所在地:" listKey="roomid" listValue="roomname"
name="roomid" value="roomid" />

action:

private MRoomService mroomService;记得getter和setter

public List<MRoom> mrList;记得getter和setter

mrList = mroomService.getAllMRoom();这个要放在一个方法里面

Dao 和 Service层以及配置文件很简单,其实从getAllMRoom()这个方法的名字就可以看出是个查询所有MRoom的方法。

注意的地方在于name的名字就是选择的那个下拉列表值,注意和action、sql保持一致。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP