• 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. 

  • 相关阅读:
    Delphi中多标签页面的实现
    选择排序
    关于Delphi中TRttiContext.FindType失效的问题
    Delphi中拖动无边框窗口的5种方法
    集中精力做最有价值的事情,而不必把主要精力都浪费在自我包装上(例如学位,头衔,自吹自擂)——沉痛反思:我以前还真是这样
    QModelIndex有internalPointer()函数,可以存任何数据,另有QAbstractItemModel::createIndex来创造节点
    沉没成本——无法收回的成本,但不要影响下一次决策
    使用HttpURLConnection实现多线程下载
    Delphi6/7 中XML 文档的应用
    delphiXE调用Objective-c库
  • 原文地址:https://www.cnblogs.com/lzhc/p/6491069.html
Copyright © 2020-2023  润新知