我用A标签传数据可以,并且封装到Action中了。
我又通过A标签传了个List集合,Action中也是用的一个List集合接收的(有get/set方法),但是去不来值,他的size却是1,怎么回事?各位大侠帮帮忙A标签
<a href="infoVote.action?list=${subjects}"></a> // subjects 是一个List对象并且有数据Action中
private List list;
 //get set在这里就省略了不知道list 传过来没,可以去到list 的size()方法 返回来的长度是 1 ,可是取不到数据,怎么回事?    各位大侠帮帮忙

解决方案 »

  1.   

    既然长度是1 你可以打印出list.get(0)来看看是什么东东。
      

  2.   


    我也是了,以为是个List 我这么写得:List li = (List) list.get(0); 直接报错!说是Object类型不能转换为List
      

  3.   

    1.首先确认页面的${subjects} 是否长度为1
    2.List li = (List) list.get(0) 为何强转
      

  4.   

    貌似这样不行吧,建议你先在页面把list转换成特殊的形式,再传
      

  5.   

    我以前也疑惑过这个问题,想起来听好笑的,下面这个subjects不会是一个List对象,而是该对象引用的一段字符串,list对象是无法保存在页面上的。你可以在action中接收打印看看。<a href="infoVote.action?list=${subjects}"></a> // subjects 是一个List对象并且有数据
      

  6.   

    再牛B框架,也不带直接这样传对象的JSP的原理是:你编写的是动态的,但是当你访问看到页面的时候,是已经编译过后的HTML文件。
    ${subjects}这个东东,当你打开这个页面的时候,他已经被编译成它的内存地址的字符串了。你再传到后台,取到的也就是一个字符串而已。
      

  7.   

    a标签是不能传对象的,你想要的效果可以这样实现:
    <script type="text/javascript">
        function submit(){
            document.getElementById("myForm").submit();
        }
    </script><body>
        <a href="javascript:submit()">跳转</a>
        <form id="myForm" action="infoVote.action" method="post">
         <input type="hidden" name="list" value="${subjects}"/>
        </form>
    </body>