struts2学习笔记(4)接收参数

时间:2021-08-07 08:57:36

struts2学习笔记(4)接收参数

①用action属性接收

  登录界面例子

  在webroot下创建login.jsp和success.jsp

  login.jsp中加入表单:  

  <form action="LoginAction.action" method="post">
    用户名:<input type="text" name="username"> <br>
    密码:<input type="password" name="password"><br>
  <input type="submit" value="提交">
  </form>

  表单中的用户名和密码会传到LoginAction.action

  在com.lzhc.action包中创建LoginAction.java,代码如下:

  public class LoginAction extends ActionSupport {
    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(){
      System.out.println(username);
      System.out.println(password);
      return SUCCESS;
    }
  }

  修改struts.xml配置文件,添加LoginAction.action  

  <action name="LoginAction" method="login" class="com.lzhc.action.LoginAction">
    <result>/success.jsp</result>
  </action>

  登录页面即制作完成,在web上输入网址http://localhost:8080/test/login.jsp测试

②使用DomainModel接收参数

  在src中建一个新包com.lzhc.po,在包下新建User.java,写入以下代码:

    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;
    }
  在LoginAction.java中添加代码:

  private User user;

  public User getUser() {
    return user;
  }
  public void setUser(User user) {
    this.user = user;
  }

  用user.getUsername()获取用户名,用user.getPassword()获取密码

  login.jsp将用户名及密码的name改成user.username以及user.password

③使用ModelDriven接收参数(一般用此方法,方便快捷)

  在②的基础上,LoginAction.java中的LoginAction函数加上代码:implements ModelDriven<User>

  改写方法

  public User getModel() {

    return user;
  }

  则②中LoginAction的user的get,set方法不用写,但需在开头写private User user=new user();

  不需再在login.jsp中的username和password前加user.