[code="java"]
/s:select
[/code]
这样构成一个选择列表。但是,我觉得list里面的东西是可变的。如果每个页面都充斥着这样代码,日后可能很难维护。
我想把list的值放到静态方法里面,然后进行访问,结构报错。
[code="java"]
public static Map getAttendState(){
Map map = new HashMap();
map.put("0", "选择");
map.put("1", "出勤");
return map;
}
[/code]
在jsp里面使用
[code="java"]
[/code]
结果出错了。如果把这些变量写在静态方法里面,然后在里调用,该怎么写?谢谢
[code="java"]
List abc = new ArrayList()
Map map1 = new HashMap();
Map map2 = new HashMap();
map1.put("KEY", "0");
map1.put("VALUE", "选择");
map2.put("KEY", "1");
map2.put("VALUE", "出勤");
abc.add(map1);
abc.add(map2);
[/code]
然后页面上面就可以只要写:
/s:select
首先中的属性list是只接受List形式的对象,而不是Map对象
以下是个人的修改意见:
1.你可以在你的静态方法里面,将map对象转化为JSON格式的字符串返回;
2.你可以在你的Action中定义一个共用的List对象,来存放下拉框的值,
例如:List abc = new ArrayList();
然后写一个初始化的方法,往该List里面存放下拉框的值,
另外,需要在Action中添加对应的get和set方法,
最后,你在页面上面就可以直接写成
/s:select
listKey和listValue指的就是map里面的key。
把map作为成员变量 get和set一下
jsp中如下写:
/s:select
试一试