值棧中獲取數據
使用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”>