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页面,然后输入姓名和密码,点击注册,在控制台上输出如下内容表示封装数据成功:

    

       

转载于:https://www.cnblogs.com/wyhluckdog/p/10105189.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值