jsp页面上的Struts2迭代
我试图在我的jsp struts2页面中引入一些逻辑。如果会话变量返回的列表为null,那么我想对其进行迭代。如果它是非空的,那么我想使用exising列表。下面是我的代码,但编译器抱怨它们的两个迭代器是标记,而只是一个结束标记jsp页面上的Struts2迭代,jsp,struts2,Jsp,Struts2,我试图在我的jsp struts2页面中引入一些逻辑。如果会话变量返回的列表为null,那么我想对其进行迭代。如果它是非空的,那么我想使用exising列表。下面是我的代码,但编译器抱怨它们的两个迭代器是标记,而只是一个结束标记 <% java.util.List eventL = (java.util.List)session.getAttribute("eventList"); if(eventL != null){
<%
java.util.List eventL = (java.util.List)session.getAttribute("eventList");
if(eventL != null){
System.out.println("SIZE LIST IS "+eventL.size());
%>
<s:iterator value="eventL" var="event">
<%
}
else
{
%>
<s:iterator value="eventList" var="event">
<% } %>
我是否正确地迭代了会话变量返回的列表
谢谢我刚刚添加了一个新的struts操作,并在该操作中添加了请求的会话变量。操作重定向到完全相同的页面,但使用了会话变量。
<s:iterate var="even" value="eventList">
<s:property value="ListProperty1/>
<s:property value="ListProperty2/>
<s:property value="ListProperty3/>
</s:iterate>
我不知道如何在struts2中实现这一点,但我至少可以告诉您,Scriptlet和taglibs并不像您从编码中所期望的那样共享相同的变量范围。有一些变通方法(实际上是黑客),但通常的做法是使用其中一种方法,而不是同时使用两种方法。由于自JSP 2.0(十年前)以来就不鼓励使用Scriptlet,所以最好只使用TagLib。换句话说,去掉JSP中所有的
东西。另见