本帖最后由 cdsn09 于 2009-11-22 23:24:15 编辑

解决方案 »

  1.   

    <a href="addOrder.action?order.user=%{#session.currentUser}">添加订单</a>楼主这里时给httprequest加parameters。但parameter应该是string。楼主这里加的却是user。
      

  2.   

    问题是,我现在要的就是传一个user啊??因为hibernate一对多设置的时候多的一方(Order)会多出一的一方的(User)的一个实例(private User user)和对应setUser(User user).所以我之后要用的这个setUser(User user),但是struts2在提交请求执行execute之前会自动set。但是这里它不给我set。怎么解决呢??
      

  3.   

    1.不知道你是否定义了延迟加载?
    2.你是否将user命名为currentUser放到了session中?
    3.<a href="addOrder.action?order.user=%{#session.currentUser}">添加订单</a>
    %{#session.currentUser}这个即使能取到,也是一个Bean实例,你让它如何作为字符串放到url里呢?另外,下面这个error:
    No result defined for action com.***.OrderAction and result input 
    没关系,是因为你前面的操作产生错误引起的。问题的根源不是这里。
      

  4.   

    我觉得跟延迟加载没关吧
    session中有currentUser
    我觉得3有道理。url里不能传递一个User对象?那怎么处理呢?
    难道只能“抛弃”struts的setter方法,在action中直接从session中取得这个user对象?
      

  5.   

    我觉得,传一个id就行了吧,没必要把这个对象都传过去。
    如果想传递整个对象,应该用Post请求。
      

  6.   

    struts.xml 里没有配置input 吧,,
      

  7.   

    这个和你的action有没有实现ModelDrivern有关系
    只要实现了这个接口,每次调用每个action的时候,会调用自己实现的getModel()方法,如果能得到model
    就会自动setProperty
      

  8.   

    要想传递user,应该用struts2的cutomerized type converter.
    不过那样有点得不偿失。