日期:2014-05-18  浏览次数:20616 次

高分求助Struts问题(100分)
我的网站是Struts结构,采用的是DispatchAction   ,   每个请求都有一个method方法.如果url直接点击访问是没有问题的,但是由于是网站很多网页都被拷贝来拷贝去,导致method中的方法被改写了,这样系统经常报:does   not   contain   handler   parameter   named   method   错误,请问如果判断如果method   方法错了,不报上诉错误?

------解决方案--------------------
在struts-config中配置错误类型.有错误就转到错误处理Action

------解决方案--------------------
友情帮顶
------解决方案--------------------
这个错误是DispatchAction报的,控制不了,除非自己实现DispatchAction
------解决方案--------------------
你可以在actionform中获取method的值然后判断是否符合要求
不符合要求的话就跳转到一个错误页面啊
------解决方案--------------------
同意楼上
------解决方案--------------------
同意楼上的楼上,在form中验证一下。
------解决方案--------------------
ActionForm继承ValidatorActionForm
加如validate方法

public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request)
{
ActionErrors error = new ActionErrors();

if (判断)
error.add( "XXX ", new ActionError( "XXXX.XXX "));
}

return error;
}


error不为空的话就跳到action的input定义页面了
struts-config.xml
<action input= "/jsp/error.jsp "> </action>
------解决方案--------------------
可以用filter过滤url。
------解决方案--------------------
UP楼上!
------解决方案--------------------
过滤器感觉好像要好点