值栈中获取数据
使用Struts2 标签加上ognl获取数据
1 获取字符串
privateString username;
public String getUsername() {
return username;}
public String execute() throwsException {
username="itcast";
return "success";
}
<s:debug></s:debug>
<s:property value="username"/>
2获取对象
<s:property value="user.username"/>
<s:property value="user.password"/>
<s:property value="user.addrest"/>
private User user=new User();
public User getUser(){
return user;
}
user.setAddrest("zhongguo");
user.setPassqord("123");
user.setUsername("wangmeihua");
3获取 list 对象
privateArrayList<User> list= new ArrayList<User>();
publicArrayList<User> getList() {
return list;}
User user1=newUser();
User user2=newUser();
user1.setAddrest("meiguo");
//。。。。。。。。。。。。。
list.add(user1);
list.add(user2);
第一种方法
<s:property value="list[0].username"/>
<s:property value="list[1].username"/>
第二种方式
<s:iterator value="list">
<!-- 遍历list -->
<s:property value="username"/>
<s:property value="password"/>
</s:iterator>
第三种方式
<s:iterator value="list"var="user">
<s:property value="#user.username"/>
<s:property value="#user.password"/>
</s:iterator>
使用其他方法获取list中的数据
1 使用set方法向值栈中存放于获取数据
Action中的配置
获取值栈对象:
通过名称来取值
ActionContext context= ActionContext.getContext();
ValueStack stack=context.getValueStack();
调用方法:stack.set(“itcast”,”incastitherma”);
显示的jsp页面:<s:property value=”itcast”>
2 使用push方法向值栈中存放于获取数据
使用push是,存放时使用的数组的形式存储的
Jsp: stack.push(“abcd”);
使用push方法设置,没有名称,只有值
<s:property value=”[0].abcd”>
OGNL中符号的使用
1 #的使用:获取context中的数据
在action中使用HttpServletRequestrequest=ServletActionContext.getRequest();
Request.setAttribute(“req”,”reqVulet”);
获取:引入标签库<s:propertyvalue=”#request.req”>