我有一個名爲classes的包,其中包含x.java和y.java。 x.java:爲什麼這個JSP - Servlet代碼不起作用?
public class x{
private int a;
private int b;
private String c;
private String d;
private String e;
private String f;
//And the fields are encapsulated.
}
y.java:
public class y{
private List<x> xs;
private int k1;
private int k2;
private String k3;
private String k4;
//And the fields are encapsulated.
}
z.JSP:
<%
usecase y = new y();
request.getSession().setAttribute("yy", y);
%>
<form action="aaa?id=1" method="POST">
<td>
<input type="text" name="bbb"/>
</td>
<td>
<input type="text" name="ccc"/>
</td>
<td>
<input type="submit" name="ddd"/>
</td>
</form>
aaa.java(Servlet的 - 中的processRequest內側):
PrintWriter out = response.getWriter();
try {
y yy = (y) request.getSession().getAttribute("yy");
String id = request.getParameter("id");
x s = new x();
s.setC(request.getParameter("bbb"));
b.setD(request.getParameter("ccc"));
if ("1".equals(id)) {
s.setE("l");
} else if ("2".equals(id)) {
s.setE("k");
}
yy.getXs().add(s);
response.sendRedirect("z.jsp");
} finally {
out.close();
}
這是代碼。當我用斷點觀察它時,一切都會順利進行,變量會得到它們的值。但在這一行中:yy.getXs()。add(s);有一個錯誤,它不會重定向。你能幫我嗎?
SOLUTION:與List<X> xs = new ArrayList<X>();
更換private List<x> xs;
。非常感謝。
我在jsp和servlet中都導入了class.x和classes.y。 – noDispName 2012-07-15 07:38:01
什麼樣的錯誤? – doonot 2012-07-15 07:47:29
它傳遞行:response.sendRedirect(「z.jsp」);可能我會在這一行得到異常:yy.getXs()。add(s);.但不知道爲什麼。 – noDispName 2012-07-15 07:48:26