我遇到了问题,如何把这个jsp做到业务分离

发布于 2022-09-02 19:47:09 字数 1260 浏览 13 评论 0

<table width="750" height="60" cellpadding="0" cellspacing="0" border="0">
      <tr>
        <td>
          
          <!-- 商品循环开始 -->
           <% 
               ItemsDAO itemsDao = new ItemsDAO(); 
               ArrayList<Items> list = itemsDao.getAllItems();
               if(list!=null&&list.size()>0)
               {
                   for(int i=0;i<list.size();i++)
                   {
                      Items item = list.get(i);
           %>   
          <div>

上面的代码业务逻辑和html混一起,看着不舒服。 我想用servlet把list拿到然后传到jsp页面,但是我不知道怎么在jsp里做循环。

下面是我改的代码

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        itemsDao = new ItemsDAO(); 
        list = itemsDao.getAllItems();
        req.getSession().setAttribute("list", list); //我把list通过seesion传给jsp
        req.getRequestDispatcher("/index.jsp").forward(req,resp);
    }
<jsp:useBean  id="list" class="servlet.Index" scope="session"/>  
<!--my god.. 这里怎么循环? 
  list.get(0).getName();
  list.get(0).getCity();
  list.get(1).getName();
  list.get(1).getCity();
-->

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

内心旳酸楚 2022-09-09 19:47:09

有多种方法可以解决业务分离和循环功能,比如可以使用spring标签,或者struts循环遍历元素,或者JSTL标签。
然后servlet设置数据req.getSession().setAttribute("list", list);,到了视图层取出list变量循环即可。

野鹿林 2022-09-09 19:47:09

把数据写到一个js里面,后面的操作全部都用js.我们现在的业务基本也是这么搞

神爱温柔 2022-09-09 19:47:09

最简单的,用jstl的foreach

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文