admin 管理员组文章数量: 887021
2023年12月23日发(作者:eclipse如何设置jdk版本)
Struts2页面数据流向及获取方法
Struts2架构下的视图(浏览器页面)由JSP组成,而这些JSP又是通过Action将他们衔接在一起,这样就形成了内容显示和业务逻辑的有机结合。每个JSP页面的数据不仅可以从上级Action获得,而且还可以从全局Session获得,也可以从在本页面实例化的Bean中获得。本文重点介绍JSP从上级Action获得数据和从Bean获得数据的原理和方法。
BeanJSP(含Form及Action)BeanBeanBeanBean响应Action的JSP响应Action的JSPBean上图是一个典型的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方法。
/**
*
*/
package ;
import ;
Import ist;
/**
* @author crazyicelee
*
*/
public class book {
private List
private String nameP;
/**
* @param mathBook the mathBook to set
*/
public void setMathBook(List
ok = mathBook;
}
/**
* @return the mathBook
*/
public List
List
("一年级数学上册");
("二年级数学上册");
mathBook=ll;
return mathBook;
}
/**
* @param name the name to set
*/
public void setNameP(String name) {
= 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是对象属性的属性名称,可以以此类推实现多级属性取值):
另外:针对对象型属性赋值必须先定义一个对象,然后把这个对象赋给该属
性对象,即对象类型的属性返回前必须实例化。例如,下面的Bean getter方法:
public User getUserObject() {
}
User u=new User("李","征兵");
userObject=u;
return userObject;
(一)响应Action的JSP获取Action属性值
Struts2将Action设置为一个特殊的Bean,所以Action也具备Bean的所有特性,也就是Action获取的数据也可以用Bean的操作方式操作。例如:一个Action的响应JSP获取该Action从上级JSP页面的Form表单获取的数据就可以用下面的代码实现。
1.集合类型属性的获取和显示
Bean的属性如果是集合类型的数据(List、Map、Array、Collection、Enumeration、Iterator等),则必须通过遍历器选取该属性的所有值。遍历集合型属性值的所有元素代码如下:
2.将Bean的属性值赋给JSP页面Form表单的一些字段作为初始值
Form表单的一些字段往往需要从服务器端动态获取一些值作为初始值,这时候就需要通过Bean的方式提供,当然也可以从上级Action中获取。常见的如
其中#就是id为author的Bean中List类型的属性返回的值。
版权声明:本文标题:Struts2页面数据流向及获取方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703306097h446248.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论