我正在使用 struts 2.2.3.1,将数据库中的一些对象加载到操作中,然后使用 Freemarker 2.3.16 在 <ul>
中显示它们。 .
我想要的功能是这样的:当我点击<li>
时来自<ul>
我可以将查看的对象设置到应用程序的 session 范围中。
现在我只有这个:
<ul>
<@s.iterator value="objectList" var="object">
<li>
<@s.url id="myUrl" action="viewObjectPage">
<@s.set name="objectToBeViewed" value="${object}" scope="session"/>
</@s.url>
<@s.a href="%{myUrl}">
${object.information?substring(0,7)}...
</li>
</@s.iterator>
</ul>
我问是否有办法仅使用 struts 2 标签将对象放入 session 中。
最佳答案
您可以使用<s:set>
标签。 set 标签为指定范围内的变量赋值。当您希望将变量分配给复杂表达式,然后每次简单地引用该变量而不是复杂表达式时,它非常有用。这在两种情况下都很有用:当复杂的表达式需要时间(性能改进)或难以阅读(代码可读性改进)时。
<s:set name="personName" value="person.name" scope="session" />
注意:您应该使用 OGNL,而不是在 Struts 标记内使用 EL(${})。
<@s.set name="objectToBeViewed" value="${object}" scope="session"/>
将 EL 内部值属性替换为 OGNL。
<@s.set name="objectToBeViewed" value="object" scope="session"/>
关于java - 如何使用 Struts2 标签将对象添加到 session 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18211743/