form里面的代码:
public class ListForm extends ActionForm {
private YxSales sales=new YxSales(); public YxSales getSales() {
return sales;
} public void setSales(YxSales sales) {
System.out.println(sales);
this.sales = sales;
}
}
action里面:
public class ListAction extends Action {
private ListBiz listbiz;
public void setListbiz(ListBiz listbiz) {
this.listbiz = listbiz;
} public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response){
ListForm listform=(ListForm)form;
YxSales sales=listform.getSales();//指这里出错
return null;
}}
//错误
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.crm.struts.action.ListAction.execute(ListAction.java:31)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
解决方案 »
- eclipse中关于CVS使用时碰到的问题,请教!进来即给分!!!
- 请教一个线程的问题
- 那位大哥给我一份JAVA操作LDAP的例子.让小弟学习学习呀.
- 请问如何将一个javabean自动转换为ejb要求不能使用和 xdoclet类似的描述符号
- 装完tomcat5后,如何指定默认目录显示到我的jsp程序?
- Html文档在tomcat5.0.14中的乱码
- 初学者提问:jsp页面提交一个名字,怎么从实体bean中得到查询出来的记录?
- 求助各位,帮助菜鸟~
- 请教:是不是所有的j2ee服务器都支持struts架构呢,现在对struts还是没有很清晰的概念!!!!
- web.xml 一配置监听器就404错误
- 如何获取JavaScript事件后整个页面的html内容?
- javabean 和 servlet有什么区别?
<th>机会来源</th>
<td>
<input name="sales.laiyuan" /></td>laiyuan是YxSales实体类里面的属性的这样我以前做过是可以的
然后设断点查看
<action-mappings>
<action attribute="listform"
path="/addlist"
name="listform"
input="/addlist.jsp"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="list" path="/list.jsp"></forward>
</action>
</action-mappings>配置文件这样应该没错吧ListForm listform=(ListForm)form;这一步他也没报错。报错的就是listform.getSales();这里
一取值就出错,如果这句话不要,上面的就不出错的
String str = (String)null;//OK
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106) 楼主的execute方法错误(貌似少了一个response参数),不能被Struts代理(DelegatingActionProxy)。execute最好标上@Override,这样在编译期就会检查。
<form-beans id="listform" type="org.crm.struts.form.ListForm" />
form-beans是一个组,
<form-beans>
//这里写form-bean
<form-bean id="listform" type="org.crm.struts.form.ListForm" />
</form-beans>
<form-beans id="listform" type="org.crm.struts.form.ListForm" />
form-beans多了个s,应该去掉s后放在<form-beans>内部
<form-beans>
<form-bean name="listform" type="org.crm.struts.form.ListForm" />
</form-beans>
没这样用过
<form-beans>
<form-bean name="listform" type="org.crm.struts.form.ListForm" />
</form-beans>
return sales;
} sales是null!!