您好,我是一名年轻的软件开发人员, 我用我的代码在最近5天里挣扎了。
这是我在JSP中的代码:
<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>
我的问题是,第一次迭代效果很好,但第二次迭代效果很好。在第二种情况下,财产有效,但是参数不起作用! Al变量可用。如果我采用第二次迭代的参数标记并将其放在第一次,它的效果很好!但这不是我想要的。
答案 0 :(得分:1)
这不是答案。
这是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>
答案 1 :(得分:0)
在bean中我有一个带有3个“rounds”的循环,在第二个迭代器中我使用var = counter在属性和动态参数上迭代三次。
该属性在HTMl
中显示在第一个迭代器的每个循环中此结果:0 1 2;
这是它应该如何工作(属性就在那里,以测试第二个itarator的功能。)
但在第二种情况下,parameter-Tag
被完全忽略或类似的东西。对于那些想要了解代码背后的逻辑的人。这是一个侧面导航栏。 listeDav或= list后面的实际数字,而listenDanach = list后面的实际数字。 1 2 3 4 [5] 6 7 8 9 ....当第二个itarator中的参数标签运行良好时,我会使用迭代索引动态制作param标签。
简而言之,我想要的是:每当第一个迭代器有他的循环时,我想创建动态参数。此参数在之前的JSP中定义并完全受支持!我想使用索引"#stat1.index"
来使其工作。
这样的事情:
s:param name="%{optionaleParamName[#stat1.index]}" value="#optionaleParamValue[#stat1.index]" />.....
我已经在"#optionaleParamValue[0]
后面定义了#optionaleParamValue[1]
后面的#optionaleParamValue[2]
和{{1}}后面的字符串......以及所有这些都是为了重用实际的JSP。
正如您所提到的,侧面导航栏可以在程序中的许多其他情况下使用。
问候