俺刚学JSP,没想到一开始就遇到了在一个JPS1页面内用超连接<a href="JSP2?name=${name}">查询</a>向另一个JSP2传参数
.刚开始传INT,STRING,都可以,但是传对象就不可以了,到JSP2就无法强制转还了!!!请大师们帮帮忙!!!

解决方案 »

  1.   

    传INT,STRING可以是因为这些对象都重新了toString()方法,当用el表达式取值时,默认调用toString()方法,而你的对象一定是没有实现此方法,所以编译器不认。
    一般情况下,你可以将这个对象的关键属性组成字符串形式提交到其他页面,如<a href="JSP?name=${obj.name}&id=${obj.id}">查询</a>,这样节省资源。
    如果非要传对象,可以使用这样的方法:1、把对象放入session中,session.setAttribute("Key",Object),去时可以这样取,Object obj = (Object)session.getAttribute("key"),Object是你的对象类,key是一个名称,可以随便取。2、把对象放入request中,request.setAttribute("key",Object),取时同session,注意跳转时用forward方法,也可以试试你现在的url跳转,在跳转之前将对象放入request。3、放入application,如果这样你的数据可以被其他人读到,并且占用服务器资源,这个方案最好不用。
      

  2.   

    session.setAttribute("对象名字",对象);
    另个页面
    Object obj = (Object)session.getAttribute("对象名字"),