Struts2迭代器标记

Struts2迭代器标记,struts2,Struts2,我正在将我的应用程序从Struts-1迁移到Struts-2 下面的代码段使用Struts-1 iterate标记对集合“myFormBeanCollection”进行迭代 这里myFormBean是表单bean, myFormBeanCollection是myFormBean的一个属性,类型为ArrayList,此列表包含类型为“com.xyz.SomeClass”的对象 接下来是scriptlet元素,然后是一些bean:write 在scriptlet代码中:getDate()方法在“co

我正在将我的应用程序从Struts-1迁移到Struts-2

下面的代码段使用Struts-1 iterate标记对集合“myFormBeanCollection”进行迭代

这里myFormBean是表单bean, myFormBeanCollection是myFormBean的一个属性,类型为ArrayList,此列表包含类型为“com.xyz.SomeClass”的对象

接下来是scriptlet元素,然后是一些bean:write

在scriptlet代码中:getDate()方法在“com.xyz.SomeClass”中定义


如何将此特定代码迁移到Struts-2

我尝试使用Struts2迭代器标记

但却没能成功地写出剧本。 不确定如何在scriptlet中调用“getDate()”方法,就像在上面的代码(Struts-1)中那样


,
任何帮助都将不胜感激

谢谢, Sunil

你不会,你会使用:


公平地说,您也不需要在原始版本中使用scriptlet——在JSP中使用Java所做的工作越少越好:只使用HTML和标记

不要盲目地以完全相同的方式重新编写,而是尝试进行结构和技术改进

    <logic:iterate name="myFormBean" property= "myFormBeanCollection" id="someId" type="com.xyz.SomeClass">
    <%
      String startDate = dateFormat.format(someId.getDate());
    %>

    <td width="13%" align="center">&nbsp;
       <%=startDate%>
    </td>

    <td width="8%" align="center">
       <bean:write name="someId" property="prop_1" />
    </td>
   </logic:iterate>
    <s:iterator value="myFormBean.myFormBeanCollection">
    <%
        String startDate = dateFormat.format(""); // Not sure on how to call "getDate()" method as how it was done in above code(Struts-1).
    %>
    <s:property value="countryName" />,
    </s:iterator>
<s:date name="date" format="whatever" />