本帖最后由 qwe065560 于 2014-04-29 14:42:04 编辑

解决方案 »

  1.   

    加配置文件 ,struts2 可以接受对象传递方式
      

  2.   

    传字符串吧。后台 属性加入   get/set  /
      

  3.   

    这样肯定是不行的。你可以通过iterator的隐式对象~这样:<form action="xxx">
    <iterator value="mylist" status="myl">
         <input name="mylist [ $ {myl.index } ].property1" value="xxx"/>
         <input name="mylist [ $ {myl.index } ].property2" value="xxx"/>
         <input name="mylist [ $ {myl.index } ].property3" value="xxx"/>
    </iterator>
    </form>这样你提交表单之后,在Action定义一个List,就可以接受到完整的对象~
      

  4.   

    struts2的反射只能是字符串么。。对象是不行的?
      

  5.   

    我只想要list中的一个对象,不想要整个list啊~
      

  6.   

    我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧
      

  7.   

    我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我的意思是我数据库查询出来了一个list已经在页面遍历,我现在要取中间一个对象再次传回action,这样可以避免我再次查询数据库。要不我传个id回去一样能查到,我现在想知道sturts2有没有提供这样的对象传递的方法?
      

  8.   


    能给个例子看看么?http://www.360doc.com/content/11/1202/14/2150778_169141870.shtml 
    不建议使用
      

  9.   


    能给个例子看看么?http://www.360doc.com/content/11/1202/14/2150778_169141870.shtml 
    不建议使用这个我也看,这用在开发中完全把简单的事情搞得更复杂了我个人不倾向于这种用法~
      

  10.   

    我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我的意思是我数据库查询出来了一个list已经在页面遍历,我现在要取中间一个对象再次传回action,这样可以避免我再次查询数据库。要不我传个id回去一样能查到,我现在想知道sturts2有没有提供这样的对象传递的方法?
    你的这个对象存在哪里~ 对象的数据是否完整呢?struts2也就是通过一个Method拦截器实现和前台数据对应的~底层还是通过get/set方法去实现的。你传一个对象名就获取整个对象的信息想想也不可能实现吧。而且我比较好奇你怎么这一个List中定位到你要传的那个对象?需求比较奇怪啊
      

  11.   

    我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我的意思是我数据库查询出来了一个list已经在页面遍历,我现在要取中间一个对象再次传回action,这样可以避免我再次查询数据库。要不我传个id回去一样能查到,我现在想知道sturts2有没有提供这样的对象传递的方法?
    也就是说~MethodInterceptor实现传对象需要对象的每一个属性,以及他们的get/set方法~
      

  12.   


    能给个例子看看么?http://www.360doc.com/content/11/1202/14/2150778_169141870.shtml 
    不建议使用这个我也看,这用在开发中完全把简单的事情搞得更复杂了我个人不倾向于这种用法~struts2 目前没有别的方法,
    其实你可以前台json化 然后直接后台接受这个json 再生成对象。
      

  13.   

    我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我的意思是我数据库查询出来了一个list已经在页面遍历,我现在要取中间一个对象再次传回action,这样可以避免我再次查询数据库。要不我传个id回去一样能查到,我现在想知道sturts2有没有提供这样的对象传递的方法?
    你的这个对象存在哪里~ 对象的数据是否完整呢?struts2也就是通过一个Method拦截器实现和前台数据对应的~底层还是通过get/set方法去实现的。你传一个对象名就获取整个对象的信息想想也不可能实现吧。而且我比较好奇你怎么这一个List中定位到你要传的那个对象?需求比较奇怪啊
    定位很简单的么。遍历列表的时候随便遍历对应的按钮。当前列不就是那个对象
      

  14.   


    能给个例子看看么?http://www.360doc.com/content/11/1202/14/2150778_169141870.shtml 
    不建议使用这个我也看,这用在开发中完全把简单的事情搞得更复杂了我个人不倾向于这种用法~struts2 目前没有别的方法,
    其实你可以前台json化 然后直接后台接受这个json 再生成对象。
    额,那还是传个id把传统方法要操作要简单多
      

  15.   


    能给个例子看看么?http://www.360doc.com/content/11/1202/14/2150778_169141870.shtml 
    不建议使用这个我也看,这用在开发中完全把简单的事情搞得更复杂了我个人不倾向于这种用法~struts2 目前没有别的方法,
    其实你可以前台json化 然后直接后台接受这个json 再生成对象。
    额,那还是传个id把传统方法要操作要简单多你的目的是省去一次数据库查询这样做 确实比数据库查询快,比struts2的对象支持要简单
      

  16.   

    我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我只想要list中的一个对象,不想要整个list啊~
    你只要一个对象你页面遍历List干嘛?如果要一个对象的话常规做法是传个id,后台load。
    或者如果你知道对象的具体索引,可以通过if .. else ..来控制  有name 或者 没有name  ~ 也可以用 iterator标签的begin..end..来控制 等等 解决办法太多了吧我的意思是我数据库查询出来了一个list已经在页面遍历,我现在要取中间一个对象再次传回action,这样可以避免我再次查询数据库。要不我传个id回去一样能查到,我现在想知道sturts2有没有提供这样的对象传递的方法?
    你的这个对象存在哪里~ 对象的数据是否完整呢?struts2也就是通过一个Method拦截器实现和前台数据对应的~底层还是通过get/set方法去实现的。你传一个对象名就获取整个对象的信息想想也不可能实现吧。而且我比较好奇你怎么这一个List中定位到你要传的那个对象?需求比较奇怪啊
    定位很简单的么。遍历列表的时候随便遍历对应的按钮。当前列不就是那个对象
    我还以为是一个按钮呢。我最上面给你说的就是一个按钮的情况下一次性更新整个表达的方法。
    还是建议你传id,降低流量~ 后台查一次也没什么~毕竟你每次只能点一个按钮么~
      

  17.   

    我看还是传个ID到Action根据这个ID查询数据库吧!你这样传过去Action会以字符串类型去获取这个值,无法得到你需要的对象值所以就为空了。
      

  18.   

    没见过这样传对象回去的,url中的值都是当作字符串处理的,最简单的办法就是回传ID,再根据ID查下对象就OK了,这是最常用的办法,不要想着传个对象回去了,从效率上来讲也不支持直接回传对象
      

  19.   

    我觉得你可以这样传递:
                                xxxx.action?a.id=a[i].id;
    这样写了之后,Struts会帮你自动创建aaa对象,绝对可以,你可以试一试
      

  20.   

    如果你用的form表单的话,可以用一个隐藏域进行传过去, <input name=a1 value="xxx"/>在xxx里面就放你需要传过去的对象。这样在action里面加一个名字为a1类型为aaa的属性,提供get/set方法就可以了。如果不是form表单的话,传个id也是可以的,因为你去查一次数据库的话,效率不会怎么受影响的。
      

  21.   

    传对象对象首先要,配置Xml文件  ******-conversion.properties