struts2中int型参数id如何从页面表单传递到后台action中?后台action中如何接收int类型的参数?
页面用<s:property id="id" value="#session.operator.operId" />传递id的值,其中operId是Long类型的。
action中用什么可以接收到id的值?
其实,此处id应该用隐藏表单域传递的,但是我用了隐藏表单域后,就抛出异常ognl.MethodFailedException: Method "setId" failed ...
改用<s:property >后就没有报这个异常了。

解决方案 »

  1.   

    struts2中int型参数id如何从页面表单传递到后台action中?后台action中如何接收int类型的参数?使用struts2中的属性驱动模式,直接在action中定义名为id的的整型变量,然后一定记得生成他的setter和getter方法,这样 通过form表单传递(表单中的类型名为id)或者在连接地址中 xxx.action?id=xx, xxx.action就可以 就可以直接读取到了--
    页面用<s:property id="id" value="#session.operator.operId" />传递id的值,其中operId是Long类型的。
    action中用什么可以接收到id的值?页面这里使用标签其实是读取保存在session中的operator这个类的operId属性.
    action中读取的方法很简单,首先获取session 对象就可以了,方法有几种,解耦的和非解耦的,你自己一搜索就知道了
    此处id应该用隐藏表单域传递的,但是我用了隐藏表单域后,就抛出异常ognl.MethodFailedException: Method "setId" failed ...如我我前面说的,在 action中定义id 并 生成setter和getter方法..如果类型出错,你要么在action中定义id为string类型 然后你手动转换
    要么在action中定义id为long类型...
      

  2.   

    你的id不是int的吗/bu neg 用int接受吗啊?
      

  3.   

    类型转换吧
    传过去的是一个long 然换转换成int