java - 如何使用 Struts2 标签将对象添加到 session 范围?

标签 java struts2

我正在使用 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/

相关文章:

java - Unity3D - 从 Android 调用静态方法

java - servlet/servlet-mapping 和 filter/filter-mapping 之间的区别?

java - JSF 2.0 中的 Jquery

java - 如何在 Netbeans 中调试具有 native 依赖项的 Gradle 项目?

java - 使用 GitHub 通过 Jenkins 将 EAR 部署到 WAS8.5 时出现 IncompatibleClassChangeError

javascript - struts2与jquery单选按钮事件问题

java - 如何使用 ajax 显示 DOJO 自动完成值

java - Android - 获取 JSONArray 问题

java - 为什么 validate() 在 Struts 2 中 JSP 的初始输入时调用两次

jquery - 使用 jsonValidationWorkflowStack 和模型驱动进行 Struts 2 Ajax 验证