为request.setAttribute()发送多个属性

时间:2018-11-26 21:38:29

标签: java servlets java-ee

我正在开发一个网页,在该网页的主页上(以我的情况为“ Home” servlet),我希望提供有关多个表的信息以及对它们的查询。我已经实现的是获取我的公司/品牌表的信息并显示最近添加的公司,详细信息是我不知道如何为request.setAttribute()发送多个属性,因为我想显示我的用户表主页信息,并显示我的特色用户,表新闻显示最后一个帖子(来自供应商的新闻)。我希望自己能帮上忙,因为我对此一无所知。

这是我的servlet代码。

 public class InicioController extends HttpServlet {
       @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            RequestDispatcher rd;
            //Connection DB
            conexion conn = new conexion();
            //send objectd  Connection to the constructor of myDAO class
            HomeDAO fun = new HomeDAO(conn);
            List<companies> list1 = new LinkedList<>();
            List<users> list2 = new LinkedList<>();
            List<postNews> list3 = new LinkedList<>();
            // call to the method that gets the information from my companies table
            list1=fun.ShowCompanies("");
            // call to the method that gets the information from my Users table
            list2=fun.LastUsers("");
            // call to the method that gets the information from my Posts table
            list3=fun.News("");
            //disconnect DB
            conn.desconectar();
            //how to send more than one attribute "request.setAttribute ()"
            request.setAttribute("Companies", list1);
            rd = request.getRequestDispatcher("/index.jsp");
            rd.forward(request, response);
        }
    }

1 个答案:

答案 0 :(得分:1)

为什么不能有一个包含所有三个列表的对象,以及您要“传递”到JSP的其他对象?您的属性将在属性中包含单个对象,JSP可以对其进行整理。这也是一个很好的设计,因为那样一来,您就可以拥有特定JSP期望的所有“参数”。