Struts2页面数据流向及获取方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 mathBook;

private String nameP;

/**

* @param mathBook the mathBook to set

*/

public void setMathBook(List mathBook) { this.mathBook = mathBook;

}

/**

* @return the mathBook

*/

public List getMathBook() {

List ll=new ArrayList();

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,id是在Bean标签外引用Bean属性时的实例标识,name是指定该Bean所在包及对应的class名称。

用来给Bean的某个指定属性赋值,name是属性名称,value是给定的值,这个标签必须放在标签体内,在实际使用中发现如果使用value赋值则并没有赋值成功,而必须将值写到标签体内,才能够赋值成功,即李征兵才能够赋值成功。

用来显示Bean某个指定属性的值,value的值是属性名称。如果要显示的属性值在标签体外,则必须使用#这种表达式来指定是那个Bean的那个属性。例如:

李征兵

显示集合类Bean属性的某个指定key的值获取方法如下:

显示对象类属性的对象属性获取方法如下(其中:b是Bean的id,user是该Bean属性名称,name是对象属性的属性名称,可以以此类推实现多级属性取值):

另外:针对对象型属性赋值必须先定义一个对象,然后把这个对象赋给该属

相关文档
最新文档