Struts2框架的数据封装一之属性封装(属性封装的第二种方式:封装成javaBean)

Posted wyhluckydog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2框架的数据封装一之属性封装(属性封装的第二种方式:封装成javaBean)相关的知识,希望对你有一定的参考价值。

Struts2中提供了两类数据封装的方式?
   第一种方式:属性驱动(有两种方式:一个对属性,另外一个是将参数封装到javaBean中)
  B. 在页面上,使用OGNL表达式进行数据封装。(将参数封装到javaBean中) 
     * 在页面中使用OGNL表达式进行数据的封装,就可以直接把属性封装到某一个JavaBean的对象中。
         * 在页面中定义一个JavaBean,并且提供set方法:例如:private User user;
         * 页面中的编写发生了变化,需要使用OGNL的方式,表单中的写法:<input type="text" name="user.username">
         * 注意:只提供一个set方法还不够,必须还需要提供user属性的get和set方法!!!
              > 先调用get方法,判断一下是否有user对象的实例对象,如果没有,调用set方法把拦截器创建的对象注入进来,
    例:
    1.书写javaBean类User:
package com.huida.domain;

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;
    }
    @Override
    public String toString() {
        return "User [username=" + username + ", password=" + password + "]";
    }
    
    
}

    2.写对应的action类,Regist2Action:

package com.huida.action1;

import com.huida.domain.User;
import com.opensymphony.xwork2.ActionSupport;

public class Regist2Action extends ActionSupport{

//属性驱动不需要手动实例化 private User user; //提供set和get方法 public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public String execute() throws Exception { System.out.println(user); return NONE; } }

    3.对action进行配置:

<package name="demo" namespace="/" extends="struts-default">
        <action name="regist2Action" class="com.huida.action1.Regist2Action"></action>
    </package>

    4.在index.jsp中写对应的表单,这里注意表单的中name对应值的变化,应该写为user.username:

<h3>属性驱动封装数据,封装到javaVean中</h3>
    <form action="${ pageContext.request.contextPath }/regist2Action.action" method="post"> 
        姓名<input type="text" name="user.username"/><br/>
        密码<input type="text" name="user.password"/><br/>
        <input type="submit" value="注册">
        
    </form>

    启动服务器,执行index.jsp页面,然后输入姓名和密码,点击注册,在控制台上输出如下内容表示封装数据成功:

    

       

以上是关于Struts2框架的数据封装一之属性封装(属性封装的第二种方式:封装成javaBean)的主要内容,如果未能解决你的问题,请参考以下文章

Struts2框架封装数据(接收页面参数)

JAVA框架Struts2 数据封装

十一 三种Struts2的数据封装方式

struts2获取表单数据之 属性封装 模型驱动 表达式封装 对象封装到list集合 对象封装到map集合 五种方便的封装方式

struts2入门之struts2获取表单数据

struts2封装客户端请求数据(3种封装方式)