noD*_*ame -3 java jsp servlets
我有一个名为classes的包,其中包括x.java和y.java.x.java:
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.
}
Run Code Online (Sandbox Code Playgroud)
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.
}
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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();
}
Run Code Online (Sandbox Code Playgroud)
这是代码.当我用断点观察一切顺利时,变量就会得到它们的价值.但在这一行:yy.getXs().add(s); 有一个错误,它没有重定向.你能帮帮我吗?
解决方案:替换private List<x> xs;为List<X> xs = new ArrayList<X>();.非常感谢.
大多数情况下,NullPointerException意味着您要取消引用null变量.我假设导致异常的行(第97行z.java,如堆栈跟踪所示)是以下行:
yy.getXs().add(s);
Run Code Online (Sandbox Code Playgroud)
那么它可能意味着两件事:
yy 一片空白yy.getXs()为null.使用调试器来识别问题,或在代码中添加日志记录跟踪.
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |