我们如何将 JSP 中的列表传递给 Struts 2 中的动作?
该列表是在加载 JSP 页面时从同一操作设置的字符串列表(正在设置的 JSP 中有一个隐藏字段)。
我所需要的只是当再次提交表单并且控制转到操作时,我再次需要该列表。
我们如何将 JSP 中的列表传递给 Struts 2 中的动作?
该列表是在加载 JSP 页面时从同一操作设置的字符串列表(正在设置的 JSP 中有一个隐藏字段)。
我所需要的只是当再次提交表单并且控制转到操作时,我再次需要该列表。
如果您使用列表的内容设置单个隐藏字段,那么您需要再次将其解析回列表。这是否是一个好主意取决于列表的内容,以及您在解析方面的能力。
另一种选择是使用 Struts 2 的默认列表构建机制并使用多个隐藏字段和 OGNL 的数组表示法,例如 、name="foo[0]"
等name="foo[1]"
。
但是,我首先要检查是否需要像这样从 JSP 中重建列表。
如果您只是序列化/反序列化同一个列表,为什么还要麻烦?要么保持它在会话中,要么在 Java 端重建它。如果它由数据库支持,那么您的缓存机制应该会减少任何开销。
您可以使用隐藏的标记名称属性来引用类中正在使用的列表名称。现在,当表单提交时,它会自动映射到您操作中的列表。
您需要将列表作为动作类中的实例变量
制作一个字符串数组并使用 json 提交它,或者制作一个所有字符串的 # 分隔字符串并将其与一些隐藏变量相关联并将其提交给动作类。然后在动作类中,您需要将其解析回原始形式。