我正在JAVA中开发一个应用程序,其中servlet从JSP页面获取输入。在db中插入值后,它将重定向到另一个servlet。然后第二个servlet将调度一个带有ArrayList的JSP页面。但我无法从第二个servlet重定向到JSP页面。 ArrayList将转到JSP页面,但页面没有显示任何内容。我正在使用NetBeans 6.8。 如果有人能解决这个问题,我将感激不尽。
第一个Servlet的代码:
RequestDispatcher dispatcher = request.getRequestDispatcher("/Servlet1?id="+id);
dispatcher.forward(request, response);
第二个Servlet代码:
request.setAttribute("list",list);
String url="test2.jsp";
RequestDispatcher v=request.getRequestDispatcher(""+url+"");
v.forward(request, response);
答案 0 :(得分:0)
在第二个servlet上试试..
request.setAttribute("list",list);
String url="test2.jsp";
RequestDispatcher v=request.getRequestDispatcher(url);
v.forward(request, response);
在jsp页面上......
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title></title>
</head>
<body>
<c:forEach items="${list}" var="item">
${item}<br>
</c:forEach>
</body>
</html>
答案 1 :(得分:0)
public class MySqlConnection {
Connection c;
public Connection getConnection() throws ClassNotFoundException, SQLException {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/";
String dbName = "ignite292";
String user = "root";
String password = "root";
Class.forName(driver); // You don't need to call it EVERYTIME btw. Once during application's startup is more than enough.
c = (Connection) DriverManager.getConnection(url + dbName, user, password);
return c;
}
public void closeConnection() {
try {
if (!c.isClosed()) {
c.close();
}
} catch (Exception e) {
}
}
}
答案 2 :(得分:0)
首先,如果您使用任何重定向机制,它不应该在RequestScope中。它必须在会话或上下文范围内(基于您的要求)。因此,第二个Servlet的结果代码可以如下
request.getSession().setAttribute("list",list);
String url="/test2.jsp";
RequestDispatcher v=request.getRequestDispatcher(""+url+"");
v.forward(request, response);
尝试使用此代码。
答案 3 :(得分:0)
森卡,
您可以将这些对象添加到会话对象中。并且您可以在任何jsp和servlet中使用该会话obj。
假设你有一个arrayList Obj,它有一些数据对象。并且您正在尝试将您的servlet重定向到jsp或servlet到servlet。 例如: -
RequestDispatcher dispatcher = request.getRequestDispatcher("/Servlet1?id="+id);
dispatcher.forward(request, response);
request.setAttribute("list",list); // **Insted of using request object use session implicit object**.
String url="test2.jsp";
RequestDispatcher v=request.getRequestDispatcher(""+url+"");
v.forward(request, response);
请参阅以下代码以解决您的问题。
RequestDispatcher dispatcher = request.getRequestDispatcher("/Servlet1?id="+id);
dispatcher.forward(request, response);
**session.setAttribute("list",list);**
String url="test2.jsp";
RequestDispatcher v=request.getRequestDispatcher(""+url+"");
v.forward(request, response);
使用
获取此列表对象列出dataList = session.getAttribute(“list”);
希望这会对你有所帮助。