struts1路径跳转问题

shangych 2012-03-27 10:50:55
java.lang.NullPointerException
at com.ist.common.base.BaseAction.getSearchObject(BaseAction.java:746)
at com.ist.test.controller.T00_DICTAction.performGetT00_DICTList(T00_DICTAction.java:115)
at com.ist.test.controller.T00_DICTAction.execute(T00_DICTAction.java:59)
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:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.ist.common.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:139)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:837)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1287)
at java.lang.Thread.run(Thread.java:595)
2012-03-27 10:51:37,627 WARN [org.apache.struts.action.ActionMapping] - Unable to find 'failure' forward.
...全文
299 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
dryZeng 2012-03-27
  • 打赏
  • 举报
回复
空指针:
java.lang.NullPointerException
at com.ist.common.base.BaseAction.getSearchObject(BaseAction.java:746)
看一下BaseAction.java的746行,引用了空指针。
shangych 2012-03-27
  • 打赏
  • 举报
回复
debug还是没有什么有用的信息出现
shangych 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 iisgirl 的回复:]
引用 19 楼 shangych 的回复:

BaseAction.java不是我自己写的,我是在一个系统里面做练习(做个什么什么管理之类的,包括几个简单的小功能)在这里我只是添加了几个jsp文件,改了改jsp的代码,配置struts,spring文件等


你会debug吗?debug看看
[/Quote]


我在什么位置打上断点呢?
昨日凡阳 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 shangych 的回复:]

BaseAction.java不是我自己写的,我是在一个系统里面做练习(做个什么什么管理之类的,包括几个简单的小功能)在这里我只是添加了几个jsp文件,改了改jsp的代码,配置struts,spring文件等
[/Quote]

你会debug吗?debug看看
shangych 2012-03-27
  • 打赏
  • 举报
回复
BaseAction.java不是我自己写的,我是在一个系统里面做练习(做个什么什么管理之类的,包括几个简单的小功能)在这里我只是添加了几个jsp文件,改了改jsp的代码,配置struts,spring文件等
shangych 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dryzeng 的回复:]
这不是你自己写的程序么?
searchObj = (BaseDTO) session.getAttribute(sessionID);
这句里的sessionID没有值,你在哪里为其设置的值?
你没有组长之类的么?这些基本的你都不清楚。
[/Quote]


我是在一个系统里做个练习,照着原有的自己做一个例子(什么什么管理之类的)很多东西我都是拿过来就用了,我只是配置了一下struts,spring文件,改了改jsp页面的代码,别的就不清楚了
dryZeng 2012-03-27
  • 打赏
  • 举报
回复
这不是你自己写的程序么?
searchObj = (BaseDTO) session.getAttribute(sessionID);
这句里的sessionID没有值,你在哪里为其设置的值?
你没有组长之类的么?这些基本的你都不清楚。
shangych 2012-03-27
  • 打赏
  • 举报
回复
不好意思,刷新一下输出null了
shangych 2012-03-27
  • 打赏
  • 举报
回复
没有,Console下没有
dryZeng 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 shangych 的回复:]

引用 11 楼 dryzeng 的回复:
searchObj = (BaseDTO) session.getAttribute(sessionID);
楼主,你在这句下面打印一句:
System.out.println(searchObj);

看是不是为null。


加进去还是出现这个错误
[/Quote]

是会出现那个错误,我是问你控制台是不是输出了null?
shangych 2012-03-27
  • 打赏
  • 举报
回复
按五楼说的加一个跳转失败的路径呢?我刚刚也试了,出现Cannot find bean: "t00_dictList" in any scope错误。我查看了<logic:iterate id="dict" <bean:write name="dict" id和name是一样的,那就是不是jsp的问题了吧
shangych 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 dryzeng 的回复:]
searchObj = (BaseDTO) session.getAttribute(sessionID);
楼主,你在这句下面打印一句:
System.out.println(searchObj);

看是不是为null。
[/Quote]

加进去还是出现这个错误
dryZeng 2012-03-27
  • 打赏
  • 举报
回复
searchObj = (BaseDTO) session.getAttribute(sessionID);
楼主,你在这句下面打印一句:
System.out.println(searchObj);

看是不是为null。
shangych 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dryzeng 的回复:]
searchObj是在哪里定义的,在整个过程中有没有给它初始化或赋值?
[/Quote]

public BaseDTO getSearchObject(BaseDTO searchObj,
HttpServletRequest request, ActionForm form, String countSqlMapID,
String url) throws Exception {
HttpSession session = request.getSession();
String newsearchflag = StringUtils.trimToEmpty(request
.getParameter("newsearchflag"));
String busstypecd = StringUtils.trimToEmpty(request
.getParameter("busstypecd"));
searchObj.setNewsearchflag(newsearchflag);
searchObj.setBusstypecd(busstypecd);
int intPage = 1;

String sessionID = searchObj.getClass().getName() + "_searchObj";

String wherefrom = StringUtils.trimToEmpty(request
.getParameter("wherefrom"));

if (newsearchflag.equals("1")) {
PropertyUtils.copyProperties(searchObj, form);
BaseDAO baseDAO = new BaseDAO();
int totalRow = baseDAO.getListCount(sqlMap, countSqlMapID,
searchObj);
searchObj.setTotalRow(totalRow);

} else {
searchObj = (BaseDTO) session.getAttribute(sessionID);
String intPageStr = request.getParameter("intPage");

if (intPageStr == null)
intPage = searchObj.getIntPage();

这个应该是关于searchObj的内容了,我之前没弄过这里面的代码
dryZeng 2012-03-27
  • 打赏
  • 举报
回复
searchObj是在哪里定义的,在整个过程中有没有给它初始化或赋值?
shangych 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dryzeng 的回复:]
searchObj应该是空。你看哪里初始化的。
[/Quote]


不懂了,我很菜
shangych 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gy127132060 的回复:]
Unable to find 'failure' forward.
你出现了空的转发。。。直接上可视界面补个转发就好。。。。
[/Quote]

补了个<forward name="failure" path="/t00_dict_list.jsp"/>
</SCRIPT>
</HEAD>

<BODY leftmargin="0" topmargin="0">
<div id='content'>
<html:form method="post" action="/t00_dict_list.do">
<div class='awp_title'>
<table>
<tr>

<td width="23%">
<span class="awp_title_td2">字典管理 - 列 表</span>
</td>
<td align="right">
<input type="button" name="btsearch2" value="查 找"
onclick="btnDisplayHidden(this, 'searchtable')" />

<html:button property="button2" value="新 建" styleClass="input"
onclick="dosubmit('t00_dict_add.do','add')" />
<html:button property="button3" value="修 改" styleClass="input"
onclick="dosubmit('t00_dict_modify.do','modi')" />
<html:button property="button4" value="删 除" styleClass="input"
onclick="dosubmit('t00_dict_delete_do.do','del')" />

</td>
</tr>
</table>
</div>
<html:messages id="errors" message="true">
<bean:write name="errors" filter="fasle" />
</html:messages>

<div class='awp_cond' id="searchtable" style="display:none">
<table>
<tr>
<td>
字典类型代码:
</td>
<td>
<html:text property="disctype" styleClass="text_white" size="30" />
</td>
<td>
字典类型名称:
</td>
<td>
<html:text property="disctypename" styleClass="text_white" size="30" />
</td>
</tr>

<tr>
<td></td>
<td></td>
<td></td>
<td>
<input type="button" name="button" value="查 询"
onClick="dosubmit('t00_dict_list.do?newsearchflag=1','search')"
class="input">
</td>
</tr>
</table>
</div>
<div class='awp_list'>
<table>
<tr align="center">

<TD width="25%">
字典类型代码
</TD>
<TD width="25%">
字典类型名称
</TD>

<TD width="25%">
字典代码
</TD>
<TD width="25%">
字典名称
</TD>
</tr>
<logic:iterate id="dict" name="t00_dictList"
type="com.ist.test.dto.T00_DICT">
<%
java.util.HashMap map = new java.util.HashMap();
map.put("disctypename", dict.getDisctypename());
pageContext.setAttribute("map", map, PageContext.PAGE_SCOPE);
%>
<TR>
<TD!-- noWrap>
<bean:write name="dict" property="disctype" scope="page" />
</TD-->
<TD noWrap align="center">
<html:link name="map" page="/t00_dict_disp.do">
<bean:write name="dict" property="disctypename" scope="page" />
</html:link>
</TD>


<TD noWrap align="center">
<bean:write name="dict" property="disckey" scope="page"/>
</TD>
<TD noWrap align="center">
<bean:write name="dict" property="discname" scope="page"/>
</TD>
</TR>
</logic:iterate>
</table>
</div>
<div class='awp_page_bottom'>
<table>
<tr>
<td align="center">
<bean:write name="pageInfo" scope="request" filter="false" />
</td>
</tr>
</table>
</div>
</html:form>
</div>
</BODY>
</HTML>
出现 Cannot find bean: "t00_dictList" in any scope错误
dryZeng 2012-03-27
  • 打赏
  • 举报
回复
searchObj应该是空。你看哪里初始化的。
香蕉猪 2012-03-27
  • 打赏
  • 举报
回复
Unable to find 'failure' forward.
你出现了空的转发。。。直接上可视界面补个转发就好。。。。
shangych 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cxw3152 的回复:]
空指针异常 看看那个对象调用了方法getSearchObject().调用的那个对象就是NULL
[/Quote]

if (intPageStr == null)
746行 intPage = searchObj.getIntPage();
else {
try {
intPage = Integer.parseInt(intPageStr);

要修改吗,新手求指教
加载更多回复(2)

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧