yxhxj2006

常用链接

统计

最新评论

struts2传值

    Struts2传值比struts1.X要方便多了。主要包括:页面--->Action   Action--->页面两个方面
   (1):页面到--->Action ,其中页面写法如下:
      <s:form action="/ssh/reg.action" method="post">
        <s:textfield label="UserName:" name="username"></s:textfield>                   //在action中直接写username属性和get和set方法
        <s:textfield label="Age:" name="person.age"></s:textfield>                         //在action中写对象Person person和get和set方法。注意:此处绝对不能写类名:Person,而应该是对象person 
        <s:textfield label="Address:" name="person.address"></s:textfield>              // 和person.age类似
        <s:submit value="Login"></s:submit>
    </s:form>

  (2):action类写法:可以继承或者不继承ActionSupport类。注意是属性和get和set方法
     public class RegAction extends ActionSupport{
    
    private Person person;
    private String username;
    private List<Person> personList;
    public List<Person> getPersonList() {
        return personList;
    }
    public void setPersonList(List<Person> personList) {
        this.personList = personList;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public Person getPerson() {
        return person;
    }
    public void setPerson(Person person) {
        this.person = person;
    }
   /**其中还可以加单一属性,对象,集合(包括list和map)**/
    @Override
    public String execute() throws Exception {
        List<Person> personList1 = new ArrayList<Person>();
        Person person = new Person();
        person.setAddress("hunan");
        person.setAge(25);
        Person person1 = new Person();
        person1.setAddress("beijing");
        person1.setAge(35);
        personList1.add(person);
        personList1.add(person1);
        this.setPersonList(personList1);
        return SUCCESS;
    }
}

(3):action---->页面
          (1):单一属性:<s:property value="username"/>      //属性名
          (2):对象:<s:property value="person.address"/>   // 对象名+属性名
          (3):list对象:List对象和Map对象        
             <s:iterator value="personList" id="Person">           // value是集合对象名,id是别名,可以随便取
                <s:property value="#Person.age"/>                // #+别名+属性名 其中#符号不可以缺少。
                <s:property value="#Person.address"/>           // 同上
            </s:iterator>
        (4)<s:iterator value="map" id="id" status="st">      // value是集合对象名,id是别名,也可省,status也可以省。
                 key : <s:property value='key'/>                   // map的key值,其中,values只能为key或者value,不能为其他。
                 value:<s:property vlaue='value'/>                //同上
             </s:iterator> 
总结:在传值的时候,也可以采用servlet或者struts1.X的方式用request,session 进行传值。比如:request/session.setAttribute(name,values)等方式。
然后在页面中,在使用request/session.getAttribute(name);但是不建议这么去做,建议还是用struts2的方式传值。





















posted on 2012-08-27 23:30 奋斗成就男人 阅读(959) 评论(0)  编辑  收藏 所属分类: J2EE


只有注册用户登录后才能发表评论。


网站导航: