serviceManager.getUserFirstService().toSpecialShops(citylifeid, bankId, getUser().getId());
这句报空指针 我该在哪里找错误呢 而且空指针异常 我不会修改 ?
这句报空指针 我该在哪里找错误呢 而且空指针异常 我不会修改 ?
解决方案 »
- struts2.2.3配置后 运行出现HTTP 404错误!怎么回事啊?
- tomcat问题
- 大家一般打印操作是咋实现的啊?
- 如何实现oracle导入导出excel!!!
- DOM 解析 xml 文件无缘无故变大,如何解决??
- 请问! 急? 关于web.xml与javabean!
- tomcat5.0.27连接池配置问题(orcale),500分,在线 (下),错误日志少了一点(谢谢 btut2004(《电子产品世界》程序员)
- 100分求助:请问如何从一个已知的Collection中随机选取一条记录?
- 简单的问题
- 基于Web的数据挖掘
- 使用Struts 2 在Action中返回josn对象时发生如下错误
- freemarker 处理过的word文档转换为pdf
try {
/** 组装验签源数据 **/
StringBuffer sb=new StringBuffer();
sb.append(citylifeid).append("|").append(citylifename).append("|").append(bankId).append("|").append(sbtId).append("|").append(client).append("|").append(bindNo);
/** 数据验签 **/
serviceManager.getTdbcServiceCityLife().checkSign(signMsg, sb.toString());
/** 获取商户绑定前的临时数据 **/
Shopbindtemp shopbindtemp = serviceManager.getShopService().getShopBindTemp(sbtId);
if(null == shopbindtemp){
this.addActionError("获取商户绑定前的临时数据失败");
return ERROR;
}
if(citylifeid != shopbindtemp.getShop().getId()){
this.addActionError("银行回传信息的商户ID与绑定临时数据不对应,无法完成绑定");
return ERROR;
}
if(bankId != shopbindtemp.getBank().getId() || bankId != shopbindtemp.getBank().getId()){
this.addActionError("银行回传信息的银行ID与绑定临时数据不对应,无法完成绑定");
return ERROR;
}
/** 商户绑定账号 赵健编写**/
serviceManager.getUserFirstService().bindShopsAccount(citylifeid, bankId, bindNo);
/** 商户申请特约商户 赵健编写 **/
serviceManager.getUserFirstService().toSpecialShops(citylifeid, bankId, getUser().getId());
} catch (ServiceException e) {
this.addActionError(e.getMessage());
return ERROR;
}
com.citylife.action.shop.BindBankCallbackAction.execute(BindBankCallbackAction.java:127)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
com.citylife.action.interceptor.AuthorizationInterceptor.intercept(AuthorizationInterceptor.java:63)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersI
127行,仔细debug下,观察每个对象及其方法返回是否为null
你的第127行是serviceManager.getUserFirstService().toSpecialShops(citylifeid, bankId, getUser().getId());
应该是你的getUser()为null,你的getUser()是怎么得到User的。另外大部分的空指针就像 类.属性/方法 时,类没有实例话,当然不能调用类的属性和方法了。所以就会报空指针异常
serviceManager.getUserFirstService().bindShopsAccount(citylifeid, bankId, bindNo);/** 商户申请特约商户 赵健编写 **/
serviceManager.getUserFirstService().toSpecialShops(citylifeid, bankId, getUser().getId());你的这两行代码比较 上一行不错,下一行错了,所以猜测是你的getUser().getId()的getUser()错误或toSpecialShops(x,x,x)内部错误
if(getUser().getId() != null && !"".equals("getUser().getId()")) {
serviceManager.getUserFirstService().
toSpecialShops(citylifeid, bankId, getUser().getId());
}
/**
* 预添加用户首次登录
* @param user 单点用户
* @return 本地用户
* @throws ServiceException
*/
User perFirstLogin(BelinkUser user, String key) throws ServiceException;
/**
* 登出
* @param userId 本地用户id
*/
void logout(long userId);
}