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>
相关文章
|
6月前
SpringMVC-5种类型参数传递
SpringMVC-5种类型参数传递
52 0
|
Java
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)
66 0
|
存储 JSON 前端开发
SpringMVC的注解、参数传递、页面跳转
SpringMVC的注解、参数传递、页面跳转
96 0
|
XML JSON 前端开发
SpringMVC常用注解、参数传递及页面跳转1
SpringMVC常用注解、参数传递及页面跳转1
111 0
|
11月前
|
JSON 前端开发 Java
SpringMVC的常用注解,参数传递以及页面跳转的使用
SpringMVC的常用注解,参数传递以及页面跳转的使用
61 0
|
JSON 安全 数据格式
SpringMVC常用注解、参数传递及页面跳转2
SpringMVC常用注解、参数传递及页面跳转2
69 0
|
XML Java 数据格式
SpringMVC常用注解、参数传递及页面跳转3
SpringMVC常用注解、参数传递及页面跳转3
81 0
|
JSON Java 测试技术
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(二)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(二)
68 0
|
前端开发 Java Spring
SpringMVC传值方式
SpringMVC传值方式
60 0
|
JSON 数据格式
SpringMVC的参数传递详解
SpringMVC的参数传递详解
157 0
SpringMVC的参数传递详解