struts1中的dispatchAction的问题

fatsozhang 2008-04-01 01:13:31
大家好!我请教个问题!
http://ip/user.do?action=login&uname=a111&upass=111
如果UserAction中没有login这个方法,像我上面那样写,页面就会出现异常。
我能想到的是在form中判断有没有这个方法存在,没有就跳转到出错页面,页面就不会出现异常了,不过这样写太麻烦了
请问:有没有简单的方法?
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
最土老杨 2008-09-12
  • 打赏
  • 举报
回复
请问还有没有其他办法,我的项目已经是dispatchAction了,还有 <global-exceptions >
<exception
key="general"
path="/error.jsp"
type="java.lang.Exception" />

</global-exceptions> 这样,但是他再控制台还是会输出异常呀,
fatsozhang 2008-04-04
  • 打赏
  • 举报
回复
郁闷,刚才复制错了!


<global-exceptions >
<exception
key="general"
path="/error.jsp"
type="java.lang.Exception" />

</global-exceptions>
fatsozhang 2008-04-04
  • 打赏
  • 举报
回复

<global-forwards >
<forward name="lastpage" path="/forward.jsp" redirect="true" />
</global-forwards>

配置个全局异常搞定,呵呵!
ee4456 2008-04-03
  • 打赏
  • 举报
回复
那你就别用dispatchAction了,用普通的action,然后用if if 来判断吧,自己写代码块就是了,没有参数,默认执行某一块,自己控制,dispatchAction是struts封装的,为的就是多个逻辑处理
fatsozhang 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 heisetoufa 的回复:]

没太看懂你的描述

如果UserAction中没有login这个方法,你这句话是错误的,login只是一个参数,赋给action的一个参数
[/Quote]


login是一个参数,赋给action的一个参数。但是在UserAction中必须有一个方法叫做login


public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
...
}

若UserAction中没有会怎么样呢?我能想到的是在form中判断有没有这个方法存在(希望有简单方法)

String method = request.getParameter("method");
if ("login.equals(method)) {
// 用户登录验证
return this.validate_0(mapping, request);

} else {
// action中没有一个方法与之对应
return this.validate_1(mapping, request);
}
limon758 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 fatsozhang 的帖子:]
大家好!我请教个问题!
http://ip/user.do?action=login&uname=a111&upass=111
如果UserAction中没有login这个方法,像我上面那样写,页面就会出现异常。
我能想到的是在form中判断有没有这个方法存在,没有就跳转到出错页面,页面就不会出现异常了,不过这样写太麻烦了
请问:有没有简单的方法?
[/Quote]

没太看懂你的描述

如果UserAction中没有login这个方法,你这句话是错误的,login只是一个参数,赋给action的一个参数,你在UserAction中没有login这个方法就会出现异常`?这不对

我能想到的是在form中判断有没有这个方法存在,没有就跳转到出错页面,页面就不会出现异常了,不过这样写太麻烦了
接下来的这句话就更错了

请问:有没有简单的方法?
简单的获得url参数的方法倒是有,可那样,还用struts干什么`?直接写servlet不更简单?
获得action的值的方法,request.getParameter("action");
fatsozhang 2008-04-02
  • 打赏
  • 举报
回复
若有更简单的方法 比如在文件中配置……
不是更好吗?嘿嘿!
hoszone 2008-04-01
  • 打赏
  • 举报
回复
我能想到的是在form中判断有没有这个方法存在,没有就跳转到出错页面,页面就不会出现异常了,不过这样写太麻烦了
----很麻烦吗?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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