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

时间:2013-11-28 04:45:09

标签: java jsp struts2 action ognl

我可以在Struts2的隐藏字段中保留对象引用吗? 我的JSP 例如:<s:hidden name="employee"/>

employee是一个引用,它引用调用上述JSP文件的操作类中的employee对象。

2 个答案:

答案 0 :(得分:2)

否您无法使用s传递对象:hidden name =“employee”,所有参数,使用HTTP传输的内容应为字符串。您可以发送对象id else并稍后检索对象。

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

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

答案 1 :(得分:1)

在呈现s:hidden标记时,在评估value属性中的OGNL表达式后,将值放在name属性中。

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

因此,您可以为name属性中引用的类型创建 new 对象。但是值不是对象引用,它是OGNL表达式求值的结果,如果它是Object,则调用toString()方法来获取值。

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