你的javabean写得不好,只能下面这样做了
首先要<jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
然后
<tr bgcolor="#cccccc"><td><b>系统名称</b></td>
<%ResultSet rs=db.querydata();
while(rs.next()) {
out.print("<td>"+rs.getString(1)+"</td>"):
%>
</tr>

解决方案 »

  1.   

    上面没有用到logic标签,是因为你这个javabean设计得很不好
    logic:iterator只能循环遍历一个Collection,所以必须修改你的javabean才行
      

  2.   

    我帮你修改一下javabean,然后使用logic标签给你看看吧
    package wjhstruts;
    import java.sql.*;public class Jsp4Bean {
      public Connection Pcon;
      public Statement Pstatement;
      public Statement con_statement()throws Exception                //连接
      {
        try
        {
           Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
           Pcon = java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://wjh:1433;DatabaseName=wjh", "sa", "");
           Pstatement = Pcon.createStatement();
          return Pstatement;
        }
        catch(Exception e)
        {
           e.printStackTrace();
           return null;
        }
      }
      public List querydata()                //查询
      {
        try
        {
           List l=new ArrayList();
           ResultSet result=con_statement().executeQuery("select systemname from Tsystem");
          while(rs.next()) {
               l.add(rs.getString("systemname"));
          }
           return l;
        }
        catch(Exception e)
        {
          return null;
        }
      }
    }
    jsp里面:<jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
    <%pageContext.setAttribute("result",db.querydata());%> 
    <tr bgcolor="#cccccc"><td><b>系统名称</b></td>
    <logic:iterator id="sysName" name="result">
    <tr><bean:write name="sysName"/></td>
    </logic:iterator>
    </tr>
      

  3.   


    请问:jFresH_MaN,如何写javabean,我要用logic标签,麻烦你帮我写写好么,拜托了。
      

  4.   

    jFresH_MaN大哥:
    public List querydata()                //此报错哦 List没定义
      {
        try
        {
           List l=new ArrayList();         //此也报错哦 
           ResultSet result=con_statement().executeQuery("select systemname from Tsystem");
          while(rs.next()) {
               l.add(rs.getString("systemname"));
          }
           return l;
        }
        catch(Exception e)
        {
          return null;
         }
      }
      

  5.   

    import java.util.List;
    import java.util.Arraylist;
      

  6.   

    jFresH_MaN大哥:
    import java.util.Arraylist;  //此有错哦
      

  7.   

    晕,不好意思,import java.util.ArrayList
      

  8.   

    jFresH_MaN大哥:
          while(rs.next()) {                      //此仍错
               l.add(rs.getString("systemname")); //此仍错   要引用什么吗?
      

  9.   

    while(result.next()) {                      
         l.add(result.getString("systemname")); 
    麻烦小姐你自己检查一下我的笔误。。
      

  10.   

    jFresH_MaN大哥:
    如果在jsp里把下面的去掉,就可以
    <table align="center" bgcolor="#986530" border="0" cellspacing="2" cellpadding="5">
       <tr bgcolor="#cccccc"><td><b>系统名称</b></td>
       <logic:iterator id="sysName" name="result">
       <tr><bean:write name="sysName"/></td>
       </logic:iterator>
       </tr>
    </table>
    如果保留就报“"jsp1.jsp": org.apache.jasper.JasperException: No such tag iterator in the tag library imported with prefix logic”错误,怎改呀?
      

  11.   


       <logic:iterator id="sysName" name="result">
       <tr><bean:write name="sysName"/></td>
       </logic:iterator>
       改为:
       <logic:iterate  id="sysName" name="result">
       <tr><bean:write name="sysName"/></td>
       </logic:iterate >
       又报“"jsp1.jsp": org.apache.jasper.compiler.ParseException: End of content reached while more parsing required: tag nesting error?”错误!
      

  12.   

    logic:iterate  id="sysName" name="result">
       <td><bean:write name="sysName"/></td>
       </logic:iterate >
    晕,今天怎么那么多错误?哎。。
      

  13.   

    jFresH_MaN大哥:
    logic:iterate  id="sysName" name="result">  //前面不用<的吗但运行有错哦
    javax.servlet.ServletException: Cannot find bean sysName in scope null
     at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
     at org.apache.jsp.jsp1$jsp._jspService(jsp1$jsp.java:139)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
    ...我的jsp为
    <%@page contentType="text/html;charset=gb2312"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
    <%pageContext.setAttribute("result",db.querydata());%>
    <html>
    <head></head>
    <body>
    <center>  
    <table align="center" bgcolor="#986530" border="0" cellspacing="2" cellpadding="5">
       <tr bgcolor="#cccccc"><td><b>系统名称</b></td></tr>  
       logic:iterate  id="sysName" name="result">
       <td><bean:write name="sysName"/></td>
       </logic:iterate >
    </table>
    </center>
    </body>
    </html>
      

  14.   

    好郁闷啊,我又打错了
    <logic:iterate  id="sysName" name="result">
       <td><bean:write name="sysName"/></td>
       </logic:iterate >
      

  15.   


    jFresH_MaN大哥:若改为:
       <logic:iterate  id="sysName" name="result">
       <td><bean:write name="sysName"/></td>
       </logic:iterate >
    又报错:"jsp1.jsp": org.apache.jasper.compiler.ParseException: End of content reached while more parsing required: tag nesting error?
      

  16.   

    吃完饭自己调试了一下你的这个例子,下面给你的成功的结果
    原来的wjhstruts.Jsp4Bean类不用变,下面是jsp内容
    <%@page contentType="text/html;charset=gb2312"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <jsp:useBean id="db" class="wjhstruts.Jsp4Bean" scope="page"/>
    <%pageContext.setAttribute("result",db.querydata());%>
    <html>
    <head></head>
    <body>
    <center>
          <hr>迭代的使用:<br>
          <table align="center" bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
             <tr bgcolor="#cccccc"><td><b>系统名称</b></td></tr>
             <logic:iterate id="sysName" name="result">
                <tr bgcolor="#cccccc"><td><bean:write name="sysName"/></td></tr>
             </logic:iterate>
         </table></center>
    </body>
    </html>
    希望你成功