帮看我传一个对象参数错在哪儿?

Mrpublic 2010-12-14
list页面中:
<a href="detailBeanAreaInfor.html?beanArea.beanAreaPK=${beanAreaList.beanAreaPK}">进入明细</a>

然后 Action.xml中
<action name="detailBeanAreaInfor" class="beanAreaAction" method="detailBeanAreaInfor">
   <result name="success">/WEB-INF/pages/wms/wmsBeanAreaDetail.jsp</result>
   </action>

==========================================================

就是没有到 beanAreaAction 的 detailBeanAreaInfor()方法时 就报错了:
Unexpected Exception caught setting 'beanArea.beanAreaPK' on 'class com.web.action.BeanAreaAction: Error setting expression 'beanArea.beanAreaPK' with value '[Ljava.lang.String;@b4855e'

看报错的样子 是不是不能直接传对像呀?
===================================================

beanArea 是一个实体 里面有一个 对象是beanAreaPK, 有set与get 该对象

我感觉 <a href="detailBeanAreaInfor.html?beanArea.beanAreaPK=${beanAreaList.beanAreaPK}"> 传的时候是不是转为String 了呀

Mrpublic 2010-12-14
我的 beanAreaAction 类 中 有一个 beanArea 对象 ,有get与set 该beanArea
beanAreaAction  的detailBeanAreaInfor(){
System.out.println("*********ok***"+beanArea.getBeanAreaPK());
...
}
控制台 没有打印就报错了
Mrpublic 2010-12-14
难道struts2 没有传说中的那么高级 不能直接把对象当参数
detailBeanAreaInfor.html?beanArea.beanAreaPK.属性1=${...}
属性都是一些基本类型?
Mrpublic 2010-12-14
没有以前时初学者后来解决这个问题的?

肯定有人解决过了  原因就是把那个对象传的时候 用toString()转为字符串类型了
所以要在 setter(对象)方法调前前 把它还原呀?
Mrpublic 2010-12-14
是不是要写一个转换器 让拦接器拦截?
还是有直接提供的方法

居然没人回 ?
ko6624934 2010-12-14
beanArea 这个你在ACTION里面要提供一个实体属性,还要提供GET /SET方法。
private BeanArea beanArea;

get/set ....

然后就可以通过beanArea.getPK() 获得你 的东西了。这个PK应该是基本类型,不能是对象

如果PK是个对象,你应该这么写。
detailBeanAreaInfor.html?beanArea.beanAreaPK.xxxx='xxxxx'
Mrpublic 2010-12-14
谢谢 和我想的一样
Sehoney 2010-12-20
detailBeanAreaInfor.htm这样可以吗?不是Action一般都配.do或者直接不用写的吗?
Mrpublic 2010-12-22
Sehoney 写道
detailBeanAreaInfor.htm这样可以吗?不是Action一般都配.do或者直接不用写的吗?

这个 后缀是自己可以配置的 不是死的
gongm_24 2011-01-06
Mrpublic 写道
Sehoney 写道
detailBeanAreaInfor.htm这样可以吗?不是Action一般都配.do或者直接不用写的吗?

这个 后缀是自己可以配置的 不是死的

配置一下就好了。get set 方法必须要有的,这是struts依赖注入要用的。
Global site tag (gtag.js) - Google Analytics