我正在使用struts-layout创建datagrid。我遇到了这个问题
javax.servlet.ServletException:DispatchMapping [/ monitor / datagridBL]でハンドラプロパティが定义されていません at org.apache.struts.actions.DispatchAction.getParameter(DispatchAction.java:325) 在org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) 在org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) 在jp.terasoluna.fw.web.struts.action.RequestProcessorEx.process(RequestProcessorEx.java:149) 在org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) 在org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 在weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:227) 在weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) 在weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) 在weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在jp.co.anicom.fw.web.common.controller.RequestEncodeFilter.doFilter(RequestEncodeFilter.java:42) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在jp.co.anicom.fw.web.common.controller.SessionExpirationFilter.doFilter(SessionExpirationFilter.java:89) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run(WebAppServletContext.java:3588) 在weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 在weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) 在weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200) 在weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106) 在weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428) 在weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) 在weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
我一直在寻找解决方法。有人会帮我吗...
答案 0 :(得分:0)
检查struts-config文件中是否存在您的操作文件(type = xxx)。如果还定义了“action”,请检查您的操作中是否存在具有相同名称的方法。如果参数已定义但参数中不存在,则必须在操作中创建“未指定”方法。如果您不在struts-config文件中使用“parameter”,请使用“execute”方法。
///////////////////
例如在strust配置中定义的参数:
url:yoursite.com/mypage/myaction.html?method=test
<action
path="/mypage/myaction"
type="myfolder.action.MyAction"
name="MyActionForm"
validate="false"
parameter="method"
scope="request">
<forward name="success" path="/view/yourfile.jsp"/>
</action>
public class MyAction{
public ActionForward test (ActionMapping mapping,
ActionForm actform,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
...
return mapping.findForward("success");
}
}
//////////////////
例如,在trusts config中没有定义参数:
url:yoursite.com/mypage/myaction.html
<action
path="/mypage/myaction"
type="myfolder.action.MyAction"
name="MyActionForm"
validate="false"
scope="request">
<forward name="success" path="/view/yourpage.jsp"/>
</action>
public class MyAction {
public ActionForward execute (ActionMapping mapping,
ActionForm actform,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
...
return mapping.findForward("success");
}
}
我的解释清楚了吗? :-) 不明点御座いましたら,远虑なくきいて下さい〜