• struts2属性驱动模型


    属性驱动模型的作用:

    因为struts2与servlet API 实现了解耦,无法直接使用HttpServlet Request对象获取表单提交的参数,但Struts2提供了属性驱动模型机制来解决这个问题。

    struts2的属性驱动模型指的是在JSP页面的每一个form中的name都在action中有一个属性与之对应。

    常用的属性驱动模型有:

    form表单封装在javabean对象中

    form表单封装在list集合中

      页面用 username<input type="text" name="list[0].username"> <!-- 表单输入的值就是list中第0个对象的username值 --> 

    form表单封装在map集合中

      页面用 username<input type="text" name="map['one'].username"> <!-- 表单输入的值就是map中key为one对象的username值 -->

    1、创建login.jsp页面

    <form action="userManagerAction.action" method="post"> 
            <p>用户名:<input type="text" name="user.username"></p>
            <p>密码:<input type="password" name="user.password"></p>
            <p style="color: red">${message}</p>
            <p><input type="submit"></p>
    </form>

    2、定义属性实体类User

    package com.struts2.entity;
    
    public class User {
    
        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;
        }
        
        
    }

    3、编写action类

    package com.struts2.action;
    
    import com.struts2.entity.User;
    
    public class UserManagerAction {
    
        private User user;  //属性封装
        private String message;
        
        public String execute(){
            System.out.println("用户名:"+user.getUsername()+"--密码:"+user.getPassword());
            
            if("admin".equals(user.getUsername()) && "123456".equals(user.getPassword())){
                message = "账号密码正确";
                return "success";
            }else{
                message = "对不起,账号密码有误";
                return "error";
            }
        }
    
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
        
        
    }

    5、action配置

    <action name="userManagerAction" class="com.struts2.action.UserManagerAction">
          <result name="success">/login.jsp</result>
          <result name="error">/login.jsp</result>
    </action>

    6、启动服务,访问:http://localhost:8080/struts2/login.jsp

  • 相关阅读:
    杭电2054
    M1/M2总结
    软件开发相关的读书笔记 问题与方法
    代码复审1234跟我一起来
    电梯调度算法简述
    Pair_Work Project
    读书笔记摘录:
    Individual Project
    个人阅读作业——软件工程M1/M2的总结
    个人阅读作业2
  • 原文地址:https://www.cnblogs.com/x-jingxin/p/8448533.html
Copyright © 2020-2023  润新知