[b]java.lang.NullPointerException
at com.myssh.web.action.HotelAction.list(HotelAction.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocatio[/b]
SSH做的网站,提示空指针异常,错误行号提示在此句出错:[b]pager=this.pagerService.getPager(this.getCurrentPage(),this.getPagerMethod(),this.hotelService.getTotalRows(),Constants.PAGE_SIZE_HOTEL);[/b]
程序的具体部分代码如下:
[code="java"]public class HotelAction extends BaseAction {
......
/*酒店列表*/
public String list() throws Exception{
System.out.println(this.hotelService.getTotalRows());//用于测试错误变量能否正常输出,结果:正常输出为2
pager=this.pagerService.getPager(this.getCurrentPage(),this.getPagerMethod(),this.hotelService.getTotalRows(),Constants.PAGE_SIZE_HOTEL);//加断点调试过程中,走到第三个变量打印报错页面//currentPage,pagerMethod均为BaseAction中封装有访问器的String变量
this.setCurrentPage(String.valueOf(pager.getCurrentPage()));
this.setTotalRows(String.valueOf(this.hotelService.getTotalRows()));
hotels=this.hotelService.findAll(pager.getPageSize(), pager.getStartRow());
return SUCCESS;
}
......}
[/code]
[code="java"]public class PagerService {
public Pager getPager(String currentPage,String pagerMethod,int totalRows,int pageSize) {
// 定义pager对象,用于传到页面
Pager pager = new Pager(totalRows,pageSize);
// 如果当前页号为空,表示为首次查询该页
// 如果不为空,则刷新pager对象,输入当前页号等信息
if (currentPage != null) {
pager.refresh(Integer.parseInt(currentPage));
}
// 获取当前执行的方法,首页,前一页,后一页,尾页。
if (pagerMethod != null) {
if (pagerMethod.equals(Constants._FIRST)) {
pager.first();
} else if (pagerMethod.equals(Constants._PREVIOUS)) {
pager.previous();
} else if (pagerMethod.equals(Constants._NEXT)) {
pager.next();
} else if (pagerMethod.equals(Constants._LAST)) {
pager.last();
}
}
return pager;
}
}[/code]
请高人看看错误到底是个啥?实在憋了小弟好久,闹心了,调试也调不明白了,希望大家给些帮助