日期:2014-05-17  浏览次数:20831 次

为什么总提示空指针错误呢?
我再用jbpm开发工作流的时候需要将数据加入到自定义的表里。表字段只有id不为空,其他均可。
但是表单页面如果全部填写完成之后就不会进断点了,如果不填写完成就会报空指针错误,不知道为什么,我用的是SSH ,其中struts2。
下面是我的代码。运行到像数据库插入数据的那一步就会报错。请大家指点一二。谢谢。


public class OfficeBuyAction extends ActionSupport {
private ProcessEngine processEngine;
private RepositoryService repositoryService;
private TaskService taskService;
private ExecutionService executionService;
private ProcessDefinition processDefinition;
private ProcessInstance processInstance;
private officeBuyService AssetServiceImpl;
private AssetsAppBuy asset;
private Employee employee;
   

/**
  * @category 固定资产购买申请表(流程定义)
  * @date 2012/03/16 10:43
  * @author hjk
  * @return ""
  */
public String start() {
asset.setEmployee(employee.getEmpNo());
asset.setAssetsId("11111111");
try {
AssetServiceImpl.insert(asset); -------在这里就会报错了
} catch (Exception e) {
e.printStackTrace();
}
return "buy";

}


------解决方案--------------------
如果代码全的,那么你没有创建AssetServiceImpl的实例。所以AssetServiceImpl为null自然就会是空指针。
如果用的是spring的ioc那么很明显你没有setAssetServiceImpl的方法。无法完成注入
------解决方案--------------------
现在项目中。是不是有成功进行注入过得实例存在?
如果有。
那么确认下是不是配置文件。跟实体类中名称是否都更新为首字母小写了?
如果没有。那可能就要分析下了
------解决方案--------------------
探讨
start 方法 .