我可以在 Struts 2 的隐藏字段中保留对象引用吗?

问题描述 投票:0回答:2

我可以在 Struts 2 的隐藏字段中保留对象引用吗?

我的JSP:

<s:hidden name="employee"/>

employee
是一个引用,它引用
Action
类中的员工对象,该类调用上面的JSP文件。

java jsp struts2 action ognl
2个回答
2
投票

否 您不能使用 s:hidden name="employee" 来传输对象,所有参数,通过 HTTP 传输的内容都应该是字符串。您可以发送其他对象 ID 并稍后检索对象。

或者您可以将对象放入会话中,以便您可以随时访问它。这是一个例子::

http://www.java4s.com/struts-tutorials/example-on-struts-2-sessionaware-interface/


1
投票

当呈现

s:hidden
标签时,它会在计算
value
属性中的 OGNL 表达式后将值放入
name
属性中。

Struts2 支持除

String
之外的类型的基本类型转换。它还支持为它不知道的 basic 类型编写自定义转换器,但通过 XML 配置。

因此,您可以为在 name 属性中引用的类型创建一个

new
对象。但该值不是对象引用,它是 OGNL 表达式求值的结果,如果它是
Object
,则调用
toString()
方法来获取该值。

您可以尝试将该字符串值传递给服务器并实例化一个不具有相同引用但可能具有相同哈希码的对象。

© www.soinside.com 2019 - 2024. All rights reserved.