<logic:iterator id="bean" name="collection">,这样就可以取出你的bean了。
如果你不想通过action处理,就必须把业务处理全部写在jsp上,不过不推荐,不符合mvc的规范

解决方案 »

  1.   

    jsp中可以直接写java代码 直接操作数据库没问题 不过不推荐这样了 维护起来太麻烦 
      

  2.   

    1、刚帮人回答这个问题,,复制过来
    写个类javaBean User
    public class User{
     String admin_id,admin_pwd;
     public void setId(String admin_in){
    this.admin_id=admin_in;
     }
      public String getId(){
    return admin_id;
     }
     public void setPwd(String admin_pwd){
    this.admin_pwd=admin_pwd;
     }
      public String getPwd(){
    return admin_pwd;
     }
    }
    Action类中
    List users=new ArrayList();
    while(rs.hasNext())
    {
           User user=new User();
           user.setId(rs.getString("admin_id")); 
           user.setPwd(rs.getString("admin_pwd"));
           users.add(user);
    }
    session.setAttribute("user",users); 
    在JSP页面中输出:
    <logic:iterate id="element" name="user">
       <td><bean:write name="element" property="admin_id"/></td>
      <td><bean:write name="element" property="admin_pwd"/></td>
    </logic:iterate>
    2、把业务写在jsp上,维护起来很麻烦,所以搞出来个MVC,LZ不要回到过去呀
      

  3.   

    我现在就是郁闷得很呀,接手的项目是别人做的,几乎全是JSP,可是又有很多地方要改,想要重新做老板又不同意,只能在他的基础去修改,改得郁闷得很........
      

  4.   

    infon(阿槑) 
      你好,谢谢你帮我回答
        1.这个过程中难道不需要用到ActionForm吗?
        2.那如果真的要实现这个直接遍历的功能的话 我该怎么做?一般的网站首页都有这样的功能啊,难道他们也是通过JSP实现吗? 
      

  5.   

    1、这个只是返回的时候用的,actionForm是接受时候用的
    2、你可以在action中遍历,然后用session传至jsp中就可以了
      

  6.   

    上面的rs是ResultSet,是从数据库取出来的数据,里面有用户名及密码,然后把他们放至一Bean中
      

  7.   

    infon(阿槑)
       麻烦再问一下,这个Bean不需要在struts-config.xml中定义吗?那标签是怎么通过id来找到这个bean的呀?
       formbean里不是要有个list的属性吗?那怎么不用formbean也行吗?
      

  8.   

    不需要把它写进什么Bean里,直接是字符串都是可以的,用bean:write不用指定就property应该可以了
      

  9.   

    bean是不用任何定义的,,其实你上面的直接不可以用了,,你自己可以试一试,,只是把while(rs.hasNext())
    {
           User user=new User();
           user.setId(rs.getString("admin_id")); 
           user.setPwd(rs.getString("admin_pwd"));
           users.add(user);
    }
    改一下就可以了,,,
    formbean在jsp中的form传参数至action接收参数的时候能用着,不是action传给jsp参数的时候用的,action给jsp传东西一般用session、request、application..但<logic:iterate/>好像只能用session
      

  10.   

    那actionform里又该是些什么内容呢?
      是不是一个list,然后是setList getList方法?
      关于第二个问题,你说的我还是不太明白
      

  11.   

    那我这样是不是可以不用ActionForm了呢?直接把list定义在action中?
      

  12.   

    formbean是在struts-config.xml设置的
    <form-beans>
             <form-bean name="loginForm"
    type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="password" type="java.lang.String" />
    <form-property name="username" type="java.lang.String" />
    </form-bean>
    </form-beans>
    然后在action-mappings中的action中引用loginForm
    <action-mappings>
    <action attribute="loginForm" input="/login.jsp"
    name="loginForm" path="/login" scope="request" validate="true"
    type="org.springframework.web.struts.DelegatingActionProxy" />
    </action-mappings>
    具体在类中就可以这样引用
    DynaValidatorForm loginForm = (DynaValidatorForm) form;
    String username = (String) loginForm.get("username");
    String password = (String) loginForm.get("password");
      

  13.   

    infon(阿槑) 
       谢谢你耐心的回答,关于第一个问题,我明白了.在这里是不需要formbean的,因为根本就没有form表单,也用不着传递页面数据.只是一个行为(action).这个(action)的任务就是向集合中添加元素,然后页面就可以遍历这个集合了.我这么理解对吧?
       然后关于第二个问题,我想在详细的了解一下,该怎么处理.麻烦了^_^!
      

  14.   

    那我这样是不是可以不用ActionForm了呢?直接把list定义在action中?
    -----------------------------------------------
    这list只能是放在session或者request中,但如果你想用<logic:iterate>,还是放在session中才能使用,,,request我试过,好像不能用
      

  15.   

    如果你不想在action中遍历,那你中能在jsp中连接数据库,这样写的代码会很乱,,,时间长了,将是不可维护的代码,,说的不好听就是垃圾一堆
      

  16.   

    比如一个网站的首页,打开后直接就能显示出数据库里的每条记录)的话,我该怎么来处理呢
    -------------------------------------
    这个很好处理,比如说你的主页是index.jsp,如果用户是第一次访问的话,你可以中转至Main.do这个action中,然后再由Main.do这个action连接数据库,放在session中,,转至main.jsp,main.jsp将是你最终反馈给用户的界面
    当然,你可以在index.jsp中判断一下用户是第一次访问,,还是从其他页面中跳转过来的,如果是从其他页面跳转过来的,就不用这么麻烦了,因为session是在在的,你可以直接跳转至main.jsp中了index.jsp-非跳转->Main.do--->main.jsp
    index.jsp-跳转->main.jsp希望这思想能帮助你
      

  17.   

    2、你可以在action中遍历,然后用session传至jsp中就可以了
    -------------------------------------------------------------------------------
    我想具体的了解一下这个方法.目的是用户打开首页就可以遍历出数据库的所有记录,通俗点讲就是表面上看用户什么都没动,只是打开了这个网页,这个网页上就显示出了所有数据库的记录.我也不是不想在action中遍历,只是想问问通常这时候的做法是怎样的?我想不应该是在jsp中连接吧?
      

  18.   

    那你可以在index中调用另外一个jsp,此jsp是通过action返回数据,,其实大型的门户网站我想是直接生成一个静态的html,只是在主页有修改的时候再重新生成一次,要不用户一访问主页,就要访问一次数据库,用户一多,,,数据数据库不是要down掉,,或者是超慢
      

  19.   

    <logic:redirect action="">
    你在index.jsp中写如这样的一个代码,重定向,就可以了希望可以帮到你!
      

  20.   

    infon(阿槑) 
      多谢多谢!一切都搞定了!
      

  21.   

    这个问题应该很简单啊.在这个页面里调用一个自己写好的类,记录的ArrayList然后就遍历它啊
    ArrayList  list  = MyBean.getUserList();
    显示就开始显示啊?我实在是想不到问题在哪里?????不知道我理解错哪个地方了?