我正在将应用程序从Struts-1迁移到Struts-2。
以下代码使用Struts-1迭代标签对集合“ myFormBeanCollection”进行迭代。
myFormBean是表单bean, myFormBeanCollection是myFormBean的一个属性,类型为ArrayList,此列表包含类型为“ com.xyz.SomeClass”的对象。
接下来是一个scriptlet元素,然后是一些bean:write ...
在scriptlet代码中:“ com.xyz.SomeClass”中定义了getDate()方法。
<logic:iterate name="myFormBean" property= "myFormBeanCollection" id="someId" type="com.xyz.SomeClass">
<%
String startDate = dateFormat.format(someId.getDate());
%>
<td width="13%" align="center">
<%=startDate%>
</td>
<td width="8%" align="center">
<bean:write name="someId" property="prop_1" />
</td>
</logic:iterate>
如何将该特定代码迁移到Struts-2。
我尝试使用Struts2迭代器标记。
但是无法成功编写脚本。 不确定如何在脚本中调用“ getDate()”方法,就像上面代码(Struts-1)那样。
<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>
任何帮助将不胜感激。
谢谢, 苏尼尔
答案 0 :(得分:0)
您不会使用the <s:date />
tag:
<s:date name="date" format="whatever" />
为了公平起见,您也不需要在原始版本中使用scriptlet-在JSP中用Java做的工作越少越好:仅坚持HTML和标记。
与其以完全相同的方式盲目重写,不如尝试进行结构和技术改进。