Struts2页面数据流向及获取方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Struts2页面数据流向及获取方法
Struts2架构下的视图(浏览器页面)由JSP 组成,而这些JSP 又是通过Action 将他们衔接在一起,这样就形成了内容显示和业务逻辑的有机结合。每个JSP 页面的数据不仅可以从上级Action 获得,而且还可以从全局Session 获得,也可以从在本页面实例化的Bean 中获得。本文重点介绍JSP 从上级Action 获得数据和从Bean 获得数据的原理和方法。
上图是一个典型的Struts2框架下的JSP 、Bean 、Action 关系图,JSP 页面可以实例化多个Bean ,这些Bean 为该JSP 页面填充数据,JSP 也通过本页面Form 表单的Action 获取Form 表单的数据,然后传递给下级JSP 。
(一)JSP 获取Bean 属性值
如果JSP 页面需要动态获得一些内容的初始值来填充页面元素,则需要实例化一个Bean ,通过设置Bean 的某个属性值A ,并将这个属性值作为获取另外符合条件的属性值参数传递给Bean ,再获取这个属性值填充页面内容,具体编程步骤如下:
1.创建Bean
根据业务逻辑编写相应的Bean 代码,添加相应的属性即getter/setter 方法。 /** JSP
(含Form 及Action )
响应Action 的JSP 响应Action 的JSP Bean
Bean Bean
Bean Bean
Bean
*/
package com.crazyicelee.bean;
import java.util.List;
Import java.util.ArrayList;
/**
* @author crazyicelee
*
*/
public class book {
private List
private String nameP;
/**
* @param mathBook the mathBook to set
*/
public void setMathBook(List
}
/**
* @return the mathBook
*/
public List
List
ll.add("一年级数学上册");
ll.add("二年级数学上册");
mathBook=ll;
return mathBook;
}
/**
* @param name the name to set
*/
public void setNameP(String name) {
P = name;
}
/**
* @return the name
*/
public String getNameP() {
nameP="skjhdfkjahsfdkj";
return nameP;
}
2.在JSP页面实例化该Bean并操作Bean属性
Struts2对Bean的操作非常简单,有现成的标签可以使用,主要有
显示集合类Bean属性的某个指定key的值获取方法如下:
显示对象类属性的对象属性获取方法如下(其中:b是Bean的id,user是该Bean属性名称,name是对象属性的属性名称,可以以此类推实现多级属性取值):
另外:针对对象型属性赋值必须先定义一个对象,然后把这个对象赋给该属