Struts2:参数上的双重迭代不起作用?
你好,我是一名年轻的软件开发人员, 在过去的5天里,我一直在努力学习我的代码 以下是我在JSP中的代码:Struts2:参数上的双重迭代不起作用?,struts2,Struts2,你好,我是一名年轻的软件开发人员, 在过去的5天里,我一直在努力学习我的代码 以下是我在JSP中的代码: <s:iterator value="getListeDanach()" status="stat"> <li> <s:url id="URL_ListeDanach" action="uebersicht_umblaettern"> <s:param name="angeklickteSeitenzahl" value="g
<s:iterator value="getListeDanach()" status="stat">
<li>
<s:url id="URL_ListeDanach" action="uebersicht_umblaettern">
<s:param name="angeklickteSeitenzahl" value="getListeDanach()[#stat.index]" />
<s:bean name="org.apache.struts2.util.Counter" var="counter">
<s:param name="last" value="3" />
</s:bean>
<s:iterator value="#counter" status="stat1">
<s:property value="#stat1.index" />
<s:param name="%{optionaleParamName4}" value="#optionaleParamValue4" />
</s:iterator>
</s:url>
<s:a href="%{URL_ListeDanach}" cssClass="naviTab">
<s:property value="getListeDanach()[#stat.index]" />
</s:a>
</li>
</s:iterator>
我的问题是,第一次迭代效果很好,但第二次迭代效果是一半。在第二种情况下,属性工作,但参数不工作!所有变量都可用。如果我使用第二次迭代的param标记并将其放在第一次迭代中,那么效果非常好!但那不是我想要的 这不是答案
这是JSP,经过清理,并使用了更多S2功能。看不懂原文
<s:iterator value="listeDanach" status="stat" var="outerItem">
<li>
<s:url id="URL_ListeDanach" action="child">
<s:param name="angeklickteSeitenzahl" value="outerItem" />
<%-- What are you trying to do here? --%>
<s:bean name="org.apache.struts2.util.Counter" var="counter">
<s:param name="last" value="3" />
</s:bean>
<%-- What are you trying to do here? There's nothing to iterate over. --%>
<s:iterator value="#counter" status="stat1">
<s:property value="#stat1.index" />
<s:param name="%{optionaleParamName4}" value="#optionaleParamValue4" />
</s:iterator>
</s:url>
<s:a href="%{URL_ListeDanach}">
<s:property value="outerItem" />
</s:a>
</li>
</s:iterator>
在bean中,我有一个3“轮”的循环,在第二个迭代器中,我使用var=计数器在属性和动态参数上迭代三次
属性在第一个迭代器的每个循环中的HTMl
中显示此结果:0 1 2
这就是它的工作原理(属性就在那里,用于测试第二个iTerator的功能。)
但在第二种情况下,参数标记
被完全忽略或类似的内容。对于那些想知道代码背后的逻辑的人。它是一个侧导航栏。ListDAV或=实际数字后面的列表,ListDANach=实际数字后面的列表。1 2 3 4 [5] 6 7 8 9.... 当第二个Iterator中的param标记运行良好时,我将使用迭代索引动态生成param标记
简而言之,我想要的是:每次第一个迭代器有他的循环时,我想要创建动态参数。此参数在JSP中定义,并且完全受支持!我想使用索引“#stat1.index”
使其工作
大概是这样的:
s:param name=“%{optionaleParamName[#stat1.index]}”value=“#optionaleParamValue[#stat1.index]”/>……
我已经定义了“#optionaleParamValue[0]
后面、#optionaleParamValue[1]
后面和#optionaleParamValue[2]
后面的字符串,所有这些都是为了重用实际的JSP。
正如您所提到的,侧导航栏可以在程序的许多其他情况下使用
问候语你能描述一下你在第一和第二个迭代器中要做什么吗?你想用
标记和内部迭代器做什么吗?此外,你还可以将getListDanach()
写成ListDanach
和getListDanach()[#stat.index]
要么什么都不做,要么使用迭代器的var
attribtue。有关详细信息,请参阅non-answer。在bean中,我有一个带有3个“roud”的循环,在第二个迭代器中,我使用3个“roud”在属性和动态参数上迭代三次。属性在HTMl中显示此结果:0 1 2;