我可以在Struts2的隐藏字段中保留对象引用吗?
我的JSP
例如:<s:hidden name="employee"/>
employee
是一个引用,它引用调用上述JSP文件的操作类中的employee对象。
答案 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()
方法来获取值。
您可以尝试将该字符串值传递给服务器,并实例化一个不具有相同引用但可能具有相同哈希码的对象。