0

サーブレットが JSP ページから入力を取得する Java でアプリケーションを開発しています。db に値を挿入すると、別のサーブレットにリダイレクトされます。次に、2 番目のサーブレットが ArrayList を含む JSP ページをディスパッチします。しかし、2 番目のサーブレットから JSP ページにリダイレクトできません。ArrayList は JSP ページに移動しますが、ページには何も表示されません。NetBeans 6.8 を使用しています。誰かがこの問題を解決できるなら、私は感謝します。

最初のサーブレットのコード:

RequestDispatcher dispatcher = request.getRequestDispatcher("/Servlet1?id="+id);
dispatcher.forward(request, response);

2 番目のサーブレットのコード:

request.setAttribute("list",list);
String url="test2.jsp";
RequestDispatcher v=request.getRequestDispatcher(""+url+"");
v.forward(request, response);
4

4 に答える 4

0

2番目のサーブレットでこれを試してください..

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>
于 2013-04-18T07:13:25.453 に答える
0

サンカ、

これらのオブジェクトをセッション オブジェクトに追加できます。そのセッション obj は、任意の jsp およびサーブレットで使用できます。

いくつかのデータ オブジェクトを持つ arrayList Obj があるとします。サーブレットをjspまたはサーブレットからサーブレットにリダイレクトしようとしています。例えば:-

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");

これがあなたを助けることを願っています。

于 2015-01-12T09:56:11.107 に答える
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) {
        }
    }
}
于 2013-05-21T18:40:13.093 に答える