`
esffor
  • 浏览: 1352484 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2的Collection和Map支持

阅读更多

struts2提供了从页面直接封装到List的功能,实现起来有两个办法

1.使用泛型定义集合中的对象类型
2.配合配置文件定义集合中的对象类型

User.java

package HelloWorld;

public class User ...{
    
private String username;
      
private String password;
      
private String[] books;
      
public String[] getBooks() ...{
            
return books;
        }

        
public void setBooks(String[] books) ...{
            
this.books = books;
        }

        
public String getUsername() ...{
            
return username;
        }

        
public void setUsername(String username) ...{
            
this.username = username;
        }

        
public String getPassword() ...{
            
return password;
        }

        
public void setPassword(String password) ...{
            
this.password = password;
        }

}

 LoginAction.java (不使用泛型,使用配置文件定义集合中对象的类型)

 

 

package HelloWorld;

import java.util.List;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;

public class LoginAction implements Action...{
 
 
private String tip;

private List users;





public List getUsers() ...{
    
return users;
}


public void setUsers(List users) ...{
    
this.users = users;
}


public String execute() throws Exception...{
    
//用第一个user做逻辑判断
      if(((User)this.getUsers().get(0)).getUsername().equals("admin")&&((User)this.getUsers().get(0)).getPassword().equals("1234"))...{
          ActionContext.getContext().getSession().put(
"user", ((User)this.getUsers().get(0)).getUsername());
          BookService bs
=new BookService();
          ((User)
this.getUsers().get(0)).setBooks(bs.getBooks());
          
this.setTip("welcome welcome");
          
return SUCCESS;
      }
else...{
          
return ERROR;
      }

  }


public String getTip() ...{
    
return tip;
}

public void setTip(String tip) ...{
    
this.tip = tip;
}



  
}

 

LoginAction_conversion.properties (放在和LoginAction同目录)

Element_users=HelloWorld.User 

表示集合中的Element类型是User,如果是Map类型,则还需要定义Key_users=****

 

index.jsp

 

<%...@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding
="gb2312"
%>
<%...@ taglib prefix="s" uri="/struts-tags" %>
<html>
  
<head> 
    
<title></title>
  
</head>
  
<body>      

     
<s:form action="Login">
       
<s:textfield name="users[0].username" key="username"></s:textfield>
       
<s:textfield name="users[0].password" key="password"></s:textfield>
       
<s:textfield name="users[1].username" key="username"></s:textfield>
       
<s:textfield name="users[1].password" key="password"></s:textfield>
       
<s:submit value="login"></s:submit>
     
</s:form>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
   
  
</body>
</html>

 

如果使用泛型定义List users,则可以省略LoginAction-conversion.properties文件

private List<List> users

分享到:
评论

相关推荐

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...

    logic:iterate标签当遍历的collection为Map时的使用

    Map里存放的是bean时 &lt;br&gt;&lt;logic:iterate id="destMap" name="srcMap"&gt;&lt;br&gt; &lt;bean:define id="bean" name="destMap" property="value" /&gt;&lt;br&gt; &lt;bean:write name="bean" property="name" /&gt;&lt;br&gt; &lt;/...

    Java集合整体讲解

    Java集合整体讲解,其中包含了Collection,Map,Iterator和一些工具类,以及集合整体大框架

    struts_2.3.12GA_API文档(chm版本)

    Set the field error map of fieldname (String) to Collection of String error messages. void validate() A default implementation that validates nothing. 从类 java.lang.Object 继承的方法 equals, ...

    java面试宝典

    64、Collection 和 Collections的区别 17 65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 17 66、HashMap和Hashtable的区别 17 67、说出ArrayList,Vector, ...

    如何解决Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for X

    两天因为项目需要整合spring、struts2、mybatis三大框架,但启动的时候总出现这个错误,困扰我好久,折腾了好久终于找到问题根源,下面小编给大家分享下问题所在及解决办法,一起看看吧

    外文翻译 stus MVC

    Struts is a set of cooperating classes, servlets, and JSP tags that make up a reusable MVC 2 design. This definition implies that Struts is a framework, rather than a library, but Struts also contains...

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    Spring面试题

    ☆ Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 ☆ Spring Web 模块:...

    java面试题

    6. Collection 和 Collections的区别。 9 7. &和&&的区别。 9 8. HashMap和Hashtable的区别。 10 9. final, finally, finalize的区别。 10 10. sleep() 和 wait() 有什么区别? 10 11. Overload和Override的区别。...

    Java面试宝典2020修订版V1.0.1.doc

    24、Collection 和 Collections的区别。 74 25、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 75 26、HashMap与HashTable的区别 75 27、Java中有多少种数据结构,...

    史上最全java面试,103项重点知识,带目录

    2. == 和 equals 的区别是什么? 1 3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? 3 4. final 在 java 中有什么作用? 4 5. java 中的 Math.round(-1.5) 等于多少? 4 6. String 属于基础的数据...

    Java常见面试题208道.docx

    19.Collection 和 Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和 Hashtable 有什么区别? 22.如何决定使用 HashMap 还是 TreeMap? 23.说一下 HashMap 的实现原理? 24.说一下 ...

    最新Java面试宝典pdf版

    8、说说struts1与struts2的区别。 121 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 122 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 122 11、...

    Java面试宝典2010版

    8、说说struts1与struts2的区别。 9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 10、简述 Hibernate 和 JDBC 的优缺点? 如何书写一个 one to many 配置文件. 11、iBatis与...

    java基础题 很全面

    7. Collection 和 Collections的区别。 7 8. &和&&的区别。 8 9. HashMap和Hashtable的区别。 8 10. final, finally, finalize的区别。 8 11. sleep() 和 wait() 有什么区别? 8 12. Overload和Override的区别。...

Global site tag (gtag.js) - Google Analytics