zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    mysql学习笔记
    MySQL的MySQL 的JDBC的安装与使用
    numpy的使用方法
    Linux命令
    MongoDB数据库
    爬虫请求库之selenium
    解析库beautifulsoup
    Requests属性
    正向代理、反向代理
    爬虫基本原理
  • 原文地址:https://www.cnblogs.com/x-jingxin/p/8448533.html
Copyright © 2011-2022 走看看