Struts2的几种传参方法

简介: Struts2的几种传参方法

1.直接在对应的action层设置jsp页面内的同名属性

注意要添加getset方法

   public class UserAction extends ActionSupport{
     private UserService userService;
     public void setUserService(UserService userService) {
        this.userService = userService;
     }
     private String username;
     private String password;
     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;
    }
    public String login() throws Exception{
        if(userService.checkUser(username,password)){
          return "success";
        }
        else return "error";
     }
} 
<body>
    <form action="login.action" method="post">
      用户名:<input name="username" type="text" />
      密码:<input name="password" type="password" />
        <input type="submit" value="提交"/>
    </form>

**2.将要接收的参数抽象到一个实体类 通过在action中使用实体类作为成员域 并且改jsp页面的参数为

成员域名.其属性名**

注意要添加实体类成员域的getset方法

public class UserAction extends ActionSupport{
     private UserService userService;
     public void setUserService(UserService userService) {
        this.userService = userService;
     }
    private User user;
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    public String login() throws Exception{
        if(userService.checkUser(user.getUsername(),user.getPassword())){
          return "success";
        }
        else return "error";
     }
} 
 <form action="login.action" method="post">
      用户名:<input name="user.username" type="text" />
      密码:<input name="password" type="user.password" />
        <input type="submit" value="提交"/>
    </form>

3.使用ModelDriver<实体类>接口

基本在第二种上面进行改进了 记得实现接口方法 改返回值为实体类成员域

注意实体类成员域要new 然后在JSP页面直接用属性名 不用user.username直接username

public class UserAction extends ActionSupport implements ModelDriven<User>{
     private UserService userService; 
     public void setUserService(UserService userService) {
        this.userService = userService;
     }
    private User user=new User();
    public String login() throws Exception{
        if(userService.checkUser(user.getUsername(),user.getPassword())){
          return "success";
        }
        else return "error";
     }
    @Override
    public User getModel() {
        return user;
    }
} 
  <form action="login.action" method="post">
      用户名:<input name="getUsername()" type="text" />
      密码:<input name="password" type="getPassword()" />
        <input type="submit" value="提交"/>
    </form>
相关文章
|
5月前
SpringMVC-5种类型参数传递
SpringMVC-5种类型参数传递
27 0
|
7月前
|
存储 JSON 前端开发
SpringMVC的注解、参数传递、页面跳转
SpringMVC的注解、参数传递、页面跳转
54 0
|
8月前
|
Java
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)
41 0
|
5月前
|
JSON 前端开发 Java
SpringMVC的常用注解,参数传递以及页面跳转的使用
SpringMVC的常用注解,参数传递以及页面跳转的使用
38 0
|
7月前
|
XML JSON Java
SpringMVC常用注解、参数传递、返回值
SpringMVC常用注解、参数传递、返回值
20 0
|
8月前
|
XML JSON 前端开发
【SpringMVC】常用注解、参数传递、返回值
@RequestMapping注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上。用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法 此时请求映射所映射的请求的请求路径为:http://localhost:8080/springmvc/requestTest用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 此时请求映射所映射的请求的请求路径为:http://localhost:8080/springmvc/hello/requestTest
【SpringMVC】常用注解、参数传递、返回值
|
8月前
|
JSON Java 测试技术
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(二)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(二)
46 0
|
8月前
|
JSON 前端开发 Java
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(一)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤
55 0
|
8月前
|
JSON 安全 数据格式
SpringMVC常用注解、参数传递及页面跳转2
SpringMVC常用注解、参数传递及页面跳转2
43 0
|
8月前
|
XML Java 数据格式
SpringMVC常用注解、参数传递及页面跳转3
SpringMVC常用注解、参数传递及页面跳转3
56 0