struts2传值

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的方式传值。





















你可能感兴趣的:(struts2传值)