struts2封装数据(模型驱动)以及值栈的基本用法

本文详细介绍了Struts2中数据封装的两种方式——属性驱动和模型驱动,探讨了值栈(ValueStack)的概念及其在Action生命周期中的作用。通过示例展示了如何在配置文件、实体、Web页面和Action类中操作数据,并说明了如何从值栈中获取数据。
摘要由CSDN通过智能技术生成

1.struts2数据封装的两种方式

  • 属性驱动
    提供属性的set和get方法,属性驱动可以同时向多个对象中封装数据
  • 模型驱动
    使用模型驱动只能同时向一个对象中封装数据

2.值栈(valuestack)概念

  • 概述
    valuestack是struts的一个接口,OgnlValueStack是valuestack的实现类。
    OgnlValueStack贯穿action的整个生命周期,创建一个action实例同时创建一个OgnlValueStack值栈实例。
    struts2使用OGNL将请求action的参数封装为对象存储到值栈中,并通过OGNL表达式读取值栈中对象的属性值。

3.struts配置文件

  • struts.xml
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <!--开启动态方法访问-->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
    <package name="demo1" extends="struts-default" namespace="/">
        <action name="user_*" class="com.sun.action.UserAction" method="{1}">
            <result name="success">/success.jsp</result>
        </action>
        <action name="student_*" class="com.sun.action.StudentAction" method="{1}"/>
    </package>
</struts>

4.属性驱动

  • 实体代码
package com.sun.domain;

public class Student {
   
    private String stu_name;
    private String stu_password;
    private String stu_qq;
    private String stu_email;

    public String getStu_name() {
   
        return stu_name;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值