1.struts2数据封装的两种方式
- 属性驱动
提供属性的set和get方法,属性驱动可以同时向多个对象中封装数据
- 模型驱动
使用模型驱动只能同时向一个对象中封装数据
2.值栈(valuestack)概念
- 概述
valuestack是struts的一个接口,OgnlValueStack是valuestack的实现类。
OgnlValueStack贯穿action的整个生命周期,创建一个action实例同时创建一个OgnlValueStack值栈实例。
struts2使用OGNL将请求action的参数封装为对象存储到值栈中,并通过OGNL表达式读取值栈中对象的属性值。
3.struts配置文件
<?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;
}