码迷,mamicode.com
首页 > 其他好文 > 详细

struts2属性驱动模型

时间:2018-02-14 17:32:59      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:java   创建   post   username   服务   pac   his   gpo   bean   

属性驱动模型的作用:

因为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

 

struts2属性驱动模型

标签:java   创建   post   username   服务   pac   his   gpo   bean   

原文地址:https://www.cnblogs.com/x-jingxin/p/8448533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!