代码改变世界

Struts2接受参数。

2012-10-16 00:16  Arraylist  阅读(215)  评论(0)    收藏  举报

 Struts2接受参数方式可以分为三种。

第一种:

    用action里的属性;

           在action定义要接受的参数的;并提供 set get方法;

            跟表单里的参数也一样,不用作强制类型转换;

           public class canshuaction {

              private String name;

             private int age;

              //省略setter,getter方法;

        public String execute(){

                  System.out.println("name="+name);

 

}

 

 

}

第二种:

         Domain model;

         example;

         

package com.test.action;

import com.opensymphony.xwork2.ActionSupport;

public class DomainModelAction extends ActionSupport {
 /**
  *
  */
 private static final long serialVersionUID = 1L;
 public User user;
 public User getUser() {
  return user;
 }
 public void setUser(User user) {
  this.user = user;
 }
 public String execute(){
  System.out.println("username:"+user.getUserName()+";passwd:"+getUser().getPasswd());
  return SUCCESS;
 }

}

第三种:

   ModelDriven

 

 

   

public class ModelDrivenAction extends ActionSupport implements ModelDriven<User> {
    private User user = new User();
    public String execute(){
     System.out.println("userame:"+user.getUserName()+";password:"+user.getPasswd());
     return SUCCESS;
    }
 public User getModel() {
  // TODO Auto-generated method stub
  return this.user;
 }

}

index.jsp

 <body>
    <h3>say hello to:</h3>
    <s:form action="modeldriven"  method="post">
      name:<s:textfield name="username"></s:textfield>
      passwd:<s:password name="passwd"></s:password>
      <s:submit/>
    </s:form>

  </body>

welcome.jsp<body>
   <!-- 属性
 WELCOME:<s:property value="name"/>
 <s:property value="{#session.user}[0]"/>
 -->
 <!--DomainModel
 WELCOME:<s:property value="user.username"/><br/>
     PASSWD:<s:property value="user.passwd"/>
  -->
 
  <!--ModelDriven  -->
  WElCOME:<s:property value="username"/>
  WElCOME:<s:property value="passwd"/>
 <s:debug></s:debug>
  </body>