浏览 2479 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-08-10
最后修改:2013-08-10
1.用于注解控制器方法map<key,po>类型参数,map<key,po>类型参数主要用来把表单中的多条记录转换为po对象,并以MapKey注解指定的value属性对应的参数值作为key将po对象put到map对象中,以下是一个具体的实例: 控制方法 public String sayHelloBeanMap(@RequestParam(name = "name") String yourname, @MapKey(value="name") Map<String, ExampleBean> mapBeans, ModelMap model) { model.addAttribute("sayHelloBeanMap", mapBeans); return "path:sayHello"; } @MapKey(value="name") Map<String, ExampleBean> mapBeans中mapkey注解的value="name"指定了将使用name参数作为map的key值来存放ExampleBean对象。前端表单维护了多条记录,这些记录将作为ExampleBean对象以name参数的值作为key放到mapBeans中。 2.用于注解控制器方法map类型参数,指定表单中要放入map中的参数的名称模式,只有符合这个模式的参数才会被放入map中,下面是一个实例: public String sayHelloStringMapWithFilter(@MapKey(pattern="pre.cc.*") Map params, ModelMap model) { model.addAttribute("sayHelloStringMapWithFilter", params); return "path:sayHello"; } @MapKey(pattern="pre.cc.*") Map params前的MapKey注解中的属性pattern="pre.cc.*"指定了要放入参数params中的参数名称模式pre.cc.*,也就是指定了以pre.cc.开头的参数将会放入到map中。如果没有通过mapkey注解指定pattern那么前端提交的所有参数将被放入map中,例如: public String sayHelloStringMap( Map params, ModelMap model) { model.addAttribute("sayHelloStringMap", params); return "path:sayHello"; } 3.用于注解bean po对象中map类型参数,指定表单中要放入map中的参数的名称模式,只有符合这个模式的参数才会被放入map中,下面是一个实例: public class ExampleBean { @MapKey(pattern="pre.cc.*") private Map params; 。。。。 } @MapKey(pattern="pre.cc.*") private Map params前的MapKey注解中的属性pattern="pre.cc.*"指定了要放入参数params中的参数名称模式pre.cc.*,也就是指定了以pre.cc.开头的参数将会放入到map中。如果没有通过mapkey注解指定pattern那么前端提交的所有参数将被放入map中,例如: public class ExampleBean { private Map params; 。。。。 } pattern模式的使用示例: pre.cc.* pre.*.cc *.cc.* 其中的*号表示匹配任意多个字符。 更多详细信息请参考bboss mvc的参数绑定测试用例: HelloWord.java hello.jsp 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |