![](/img/trans.png)
[英]How to get parameter from a jsp that is included in a jsp that is included in the requesting jsp
[英]How to get an object from a Servlet included in a JSP?
我有一個Servlet,可以查詢數據庫並創建arraylist(也稱為對象)。
該Servlet包含在打印數組列表內容的JSP頁面中,但是我不知道如何將它們從Servlet傳遞到JSP。
如何獲得JSP從Servlet獲取那些對象?
這是我的Servlet代碼:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//CREATING CONTAINERS THAT WILL BE FORWARDED
ArrayList<Volet> voletList = new ArrayList<Volet>();
ArrayList<Critere> critereList = new ArrayList<Critere>();
PrintWriter writer = response.getWriter();
try {
//CONNEXION TO DATABASE:
Class.forName("oracle.jdbc.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oracle", "OCP", "oracle11g");
Statement st = con.createStatement();
//SQL REQUEST
String sqlVolet = "select * from ocp.volet";
ResultSet rsVolet = st.executeQuery(sqlVolet);
//WRITING FROM SQL RESULT INTO CONTAINER LIST:
while(rsVolet.next())
{
Volet volet = new Volet();
volet.setId(rsVolet.getInt(1));
volet.setDescription(rsVolet.getString(2));
voletList.add(volet);
}
String sqlCritere = "select * from ocp.critere";
ResultSet rsCritere = st.executeQuery(sqlCritere);
while(rsCritere.next())
{
Critere critere = new Critere();
critere.setId(rsCritere.getInt(1));
critere.setDescription(rsCritere.getString(2));
critere.setVoletid(rsCritere.getInt(3));
critereList.add(critere);
}
//CLOSING DATABASE CONNEXION:
con.close();
//DISPATCH THE CONTAINER THROUGH FORWARD
}
catch(Exception e)
{
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/View/ErrorPage.jsp");
request.setAttribute( "e", e );
requestDispatcher.forward(request, response);
}
}
PS我已經嘗試將對象轉發到JSP,但沒有用。
在Servlet代碼中使用request.setAttribute
request.setAttribute("attributeName",attributeValue);
RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("JSP file path");
reqDispatcher.forward(request,response);
並在jsp代碼中使用request.getAttribute並將其類型轉換為實際的對象類型。
ClassType attributeValue= (ClassType) request.getAttribute("attributeName");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.