群讨论记录:在STRUTS里里面用forward转不到指定的页面

群讨论记录:在STRUTS里里面用forward转不到指定的页面


感谢群里面热心的朋友,帮助解决一个又一个的问题,下面是关于该问题的全部解决过程,再次感谢!

深圳-Bruce Lee 17:17:14

各位遇到过样的情况没有,在STRUTS里里面用forward转不到指定的页面,检查了和方面的配置,都正常,并且原来也是这样使用的都正常,这是ACTION配置:

<action path="/saveMsg" name="saveMsg" type="msg.action.SaveMsg">

<forward name="success" path="/disAllTitle.jsp" />

</action>

ACTION里面采用:

return mapping.findForward("success");

深圳-Bruce Lee 17:17:59

提交完后,页面一片空白,再回来查看,内容已经输入进去了

江苏-B10nJJ 17:22:05

页面地址对不对啊?找不到forward的时候会抛exception的,应该已经找到了。

深圳-Bruce Lee 17:24:37

没有异常,页面地址是对的

深圳-Bruce Lee 17:24:57

就给一个空白页面,写入或者是更改也都是正常的

江苏-B10nJJ 17:25:22

换个浏览器看看。

深圳-Bruce Lee 17:25:40

我是IE

深圳-Bruce Lee 17:26:02

我用FIRFOX的时候有时会问题,但IE还从来没有

深圳-Bruce Lee 17:26:05

我试试

深圳-Bruce Lee 17:29:17

FIRFOX,也不行

江苏-B10nJJ 17:30:25

/disAllTitle.jsp 直接访问这个是什么结果?

深圳-Bruce Lee 17:35:35

哈哈,谢谢,我的访问要这样:disAllTitle.do

深圳-Bruce Lee 17:36:01

因为显示数据需要触发,一个字,笨

深圳-Bruce Lee 17:36:35

但这里我改这样出错了

深圳-Bruce Lee 17:36:48

看来还不能够直接访问,需要架桥了

深圳-Bruce Lee 17:36:58

需要中间JSP页面

江苏-B10nJJ 17:37:37

jsp只是一个view而已,一个action是可以forword到另外一个action的。

深圳-Bruce Lee 17:41:05

这个要怎么做?

深圳-Bruce Lee 17:42:04

我现在用的是中间跳转页面

深圳-Bruce Lee 17:44:50

我新建了一个disAllTitle_.jsp,把forword转到这里,然后在这个JSP里面有一句:

<jsp:forward page="disAllTitle.do"/>

就转到显示去了,不过我觉得走了转路

还得在回来的时候再次调用处理

江苏-B10nJJ 17:45:18

明显走了转路

江苏-B10nJJ 17:45:56

return new ActionForward("disAllTitle.do");

江苏-B10nJJ 17:46:01

这样不行?

深圳-Bruce Lee 17:46:04

<action path="/inputMsg" name="inputMsg" type="msg.action.InputMsg" validate="true">

<forward name="success" path="/disAllTitle.do" />

</action>

深圳-Bruce Lee 17:46:17

我试试

江苏-B10nJJ 17:46:17

ActionForward死的,人活的- -

深圳-Bruce Lee 17:46:33

从来没有那样用过,现在我是“死的”,它是活的

江苏-B10nJJ 17:46:58

或者 return new ActionForward("/disAllTitle");

好久没用struts了。。。

江苏-B10nJJ 17:49:03

如果刚刚学的话,别学struts了,学webwork或者s2吧,s1太恶心了。

深圳-Bruce Lee 17:56:19

呵呵,其它的我更不熟了,

先把这个学到,因为外面这方面的要求还是很多的

深圳-Bruce Lee 17:57:10

STRUTS,就是WEBOWRK的前身

江苏-B10nJJ 17:57:17

架构师都想转型的,就是因为都不会s2/webwork

深圳-Bruce Lee 17:57:26

我在官方网站上看到过这样一句话

江苏-B10nJJ 17:57:57

非也,webworkstruts2 的前身,这两个和struts1 差别相当大

深圳-Bruce Lee 17:58:07

我觉得你是什么知道,你主要负责那方面的

深圳-Bruce Lee 17:59:06

就是记得他们有关系,我还为是这个

确实,不过,我还是先学这个,然后再去学那个,毕竟这个入门,后面的路肯定要走很多

江苏-JR 17:59:08

确实什么都知道

江苏-B10nJJ 17:59:48

我是令杂工。什么都被迫搞过。

深圳-Bruce Lee 18:07:05

return new ActionForward("disAllTitle.do");

要成这样:

return new ActionForward("/disAllTitle.do");

深圳-Bruce Lee 18:07:29

但在JSP页面触发的就不能加/

深圳-Bruce Lee 18:10:46

这样提示找不到页面:return new ActionForward("/disAllTitle");

总结:有三种方式可行:

1、采用return new ActionForward("/disAllTitle.do");

2、采用

<action path="/saveMsg" name="saveMsg" type="msg.action.SaveMsg">

<forward name="success" path="/disAllTitle.do" />

</action>

ACTION里面采用:

return mapping.findForward("success");

3、采用我上面说到的中转:

新建了一个中转如disAllTitle_.jsp,把forword转到这里,然后在这个JSP里面有一句:

<jsp:forward page="disAllTitle.do"/>

在action里面这样:

return mapping.findForward("success");

在struts-confing.xml这样写:

<action path="/saveMsg" name="saveMsg" type="msg.action.SaveMsg">

<forward name="success" path="/disAllTitle_.jsp" />

</action>

综上,肯定是第一种最简单了。

你可能感兴趣的:(jsp,浏览器,struts,IE,Webwork)