页面回显获取值栈对象属性

1.假设值栈栈顶对象是user(User user=new User("zhangsan");  ValueStack valueStack=ActionContext.getContext().getValueStack(); valueStack.push(user);)

在jsp页面想获取该user的name值,有以下两种方式:

<s:debug></s:debug>
    <br>
    <!--[0]表示栈顶对象,可以省略,[1]则表示栈顶对象下一个对象-->
    用户名:<s:property value="[0].name" />
    <br>
    用户名:<s:property value="name" />

2.不要把得到的list对象放在栈顶,而是应该放在ActionContext中。

3.假设把list放在了session中(List<User> userList = new ArrayList<User>(); userList.add(new User("zhangsan")); userList.add(new User("lisi")); ServletActionContext.getRequest().getSession().setAttribute("userList", userList);)

在jsp页面想获取该list的对象的name值,代码:

<s:debug></s:debug>
    <s:if test="#session.userList!=null&&#session.userList.size>0">
       <s:iterator value="#session.userList" id="user">  
         用户名:<s:property value="#user.name" />
		<br>
       </s:iterator>
   </s:if>
   <s:else>
      出错
   </s:else>

备注:iterator中id属性必需,指定遍历的元素

          由于是session,所以在用iterator的value属性取集合时要加#session,在用property的value属性输出时也要加#。

          s:if 的test属性是布尔表达式,对集合对象进行判断,关键在于正确的表示集合对象,保持同iterator的value属性一致即可。

4.假设把单个对象放在了session中(ServletActionContext.getRequest().getSession().setAttribute("user", new User("liuneng"));)

在jsp页面想获取该user的name值,代码:

<s:debug></s:debug>
	用户名:<s:property value="#session.user.name" />

5.假设把list放到ActionContext中(List<User> userList = new ArrayList<User>(); userList.add(new User("zhangsan")); userList.add(new User("lisi")); ActionContext.getContext().put("userList", userList);)

在jsp页面中获取该list的对象的name值,代码:

<s:debug></s:debug>
	<s:if test="#userList!=null&&#userList.size>0">
		<s:iterator value="#userList">
			<!--request可省-->  
       用户名:<s:property value="name" />
			<br>
		</s:iterator>
	</s:if>
	<s:else>
	出错
	</s:else>

备注: s:if 的test属性同上

           actionContext.put(key,value)方法作用相当于request.setAttribute(key,value)方法。

6.假设把单个对象放到了ActionContext中(ActionContext.getContext().put("user", new User("zhangsan"));)

在jsp页面中获取该user对象的name值,代码:

<s:debug></s:debug>
  用户名:<s:property value="#request.user.name" /><!--request不可省-->


你可能感兴趣的:(页面回显获取值栈对象属性)