我的java文件有这二句代码,想把collection里的值传到jsp页面上
    Collection search_user_id=sqlCon.getUSER_ID(USER_NAME);
    request.setAttribute("name",search_user_id);
jsp页面里
<%
String USER_ID=null;
List objList = (List)request.getAttribute("name");
request.setAttribute("objList",objList);
%>
把值取得我想把得到的值显示到页面上
   <display:table name="objList" export="true" requestURI="" pagesize="10" sort="list" class="its">
<display:caption>用户名:<%=request.getAttribute("USER_ID")%></display:caption>
   </display:table>
可是这样不能显示,会报错,请问一下,我应该怎么改

解决方案 »

  1.   

     <display:table name="objList" export="true" requestURI="" pagesize="10" sort="list" class="its"> 
    <display:caption>用户名: <%=objList.get(0)%> </display:caption> 
        </display:table> 
      

  2.   

    <%=request.getAttribute("USER_ID")%>
    不对.你并没有设置过"USER_ID"的attribute
    应该用你刚才取得的objList
    objList.get(0)
      

  3.   

    <% 
    String USER_ID=null; 
    List objList = (List)request.getAttribute("name"); 
    request.setAttribute("objList",objList); -这句不用,因为在同一个页面,直接用上面的objList 就可以取到
    %> <display:table name="objList" export="true" requestURI="" pagesize="10" sort="list" class="its"> 
    <display:caption>用户名: <%=request.getAttribute("USER_ID")%> </display:caption> 
        </display:table>
    上面红的代码应该改成 <%=objList.get(0)")%>如果只有一个,多个的话再外面用for(int i=0;i<objList.size();i++)
    取的时候用<%=objList.get(i)")%>
      

  4.   

    唉,还是会报错哦  zlm                             
    2008-8-7 12:46:49 org.apache.catalina.core.ApplicationDispatcher invoke
    严重: Servlet.service() for servlet jsp threw exception
    java.lang.ClassNotFoundException: org.displaytag.tags.TableTagExtraInfo
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:416)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:250)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163)
    at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:420)
    at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:476)
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1426)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:133)
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:215)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
    at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
    at java.lang.Thread.run(Unknown Source)
    2008-8-7 12:46:49 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet action threw exception
    java.lang.ClassNotFoundException: org.displaytag.tags.TableTagExtraInfo
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:416)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:250)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163)
    at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:420)
    at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:476)
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1426)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:133)
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:215)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
    at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
    at java.lang.Thread.run(Unknown Source)
    一开始的zlm是我要取得的数据,我把它打印出来了,想知道是不是从数据库里取得数据,可是既然有打印出来,说明已经被我放到list里了,可为什么页面上就是无法取得这个list里的值呢
      

  5.   

    <%=request.getAttribute("USER_ID")%>
    ============================
    指的是从request里取值,你现在应该从objList 里面取值
    至于怎么取,由于我不认识你的这个标签,没法告诉你了,自己去搜索下
      

  6.   

    有两个疑问:
    1、你的sqlCon.getUSER_ID(USER_NAME)方法返回的是什么类型的值?
    如果返回的是List的实现类那么没问题,如果不是,那么你下面的强制转换为List就有问题了。
    2、你的<%=request.getAttribute("USER_ID")%>这句代码能执行吗?
    从你给出的代码来看你并未将“USER_ID”存放到request中,所以你能取到USER_ID的值?
      

  7.   

    同意7楼的Collection search_user_id=sqlCon.getUSER_ID(USER_NAME); 
    这个东西返回是个Collection 又不是结果集,也不是LIST,
    你强行request.setAttribute("name",search_user_id); 这样操作,你在页面
    List objList = (List)request.getAttribute("name"); 这样取得的又是什么。这是我的迭代显示
    java.util.Vector v=pageCtl.getResult();
         java.util.Enumeration e = v.elements();
         while(e.hasMoreElements())
         {
         Object[] obj = (Object[])e.nextElement();
         
    %>
    <tr>
    <td align="center" width="50%"><%=obj[0]%></td>
    <td align="center" width="50%"><%=obj[1]%></td>
    </tr><%}%>或者你后面ResultSet search_user_id=sqlCon.getUSER_ID(USER_NAME); 
        request.setAttribute("name",search_user_id); 
    前台强行转换成ResultSet rs = (ResultSet)request.getAttribute("name");  
    while(rs.next())
    {
        <%=rs.getString("ooxx")%>
      

  8.   

    其实不是值有没有传过来的问题,是display标签的使用问题