| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1478 人关注过本帖
标题:struts2 自定义类型转换器(字符串到集合类型的转换)
只看楼主 加入收藏
边城迷途
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-5-11
结帖率:100%
收藏
 问题点数:0 回复次数:0 
struts2 自定义类型转换器(字符串到集合类型的转换)
前台有多个输入文本框(name均为users)每个输入框都按username,password的格式输入,提交后将请求参数封转为后台XXXAction的List<User>类型的属性,并在结果页面中打印此对象
1.login.jsp
  ...
  <s:form action="Login">
      <s:textfield name="users" label="user1"></s:textfield><br />
      <s:textfield name="users" label="user2"></s:textfield><br />
      ...
  ...
2.LoginAction.java
    ...
    private List<User> users;
    public List<User> getUsers() {
        return users;
    }
    public void setUsers(List<User> users) {
        this.users = users;
    }
    public String execute(){
        return SUCCESS;
    }
3.struts.xml配置LoginAction直接返回SUCCESS页面welcome.jsp
4.welcome.jsp
    ...
    <s:property value="users" escape="false"/>
5.UserConverter.java
  import...
  public class UserConverter extends DefaultTypeConverter {
    public Object convertValue(Map context,Object value,Class toType){
        if(toType == List.class){
            String[] params = (String[])value;
            List<User> ll = new ArrayList<User>();
            for(int i=0;i<params.length;i++){
                String[] ss = params[i].split(",");
                ll.add(new User(ss[0],ss[1]));
            }
            return ll;
        }else if(toType == String.class){
            String str="";
            List users = (List)value;
            for(Object u : users){
                User user = (User)u;
                str += "name: "+user.getName()+" pass:"+user.getPass()+"<br />";
            }
            return str;
        }else{
            return null;
        }
    }
  }
6.LoginAction-conversion.properties与LoginAction在同一目录下
  users=com.lg.app.converter.UserConverter
  
学生正在学习李刚的轻量级JavaEE,看书上例子练习了一下,希望和大家一起交流、学习!
搜索更多相关主题的帖子: 沸点 
2011-09-22 11:05
快速回复:struts2 自定义类型转换器(字符串到集合类型的转换)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051121 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved