注册 登录
编程论坛 J2EE论坛

jsp页面跳转问题?应该怎么写啊?

huluhulu88 发布于 2007-08-18 17:21, 2301 次点击
request.getRequestDispatcher("/adminQueryPlate").forward(request,response);

红色的部分写的对不对啊?可不可以这样写:

request.getRequestDispatcher("adminQueryPlate.do").forward(request,response);

或是
request.getRequestDispatcher("adminQueryPlate").forward(request,response);

我用的是Eclipse开发工具

我想从一个Action类提交到另一个Action类,应该是上面的写法,可以我的程序为什么报404错误?

我的想法是: Action类到(通过什么方法跳转)Action类再到页面

我相应的配置文件如下:

<action path="/adminQueryPlate" type="com.yourcompany.struts.action.AdminQueryPlateAction">
<forward name="adminQueryPlateAll" path="/admin_5_1.jsp" />
</action>
应该怎么写才对啊?急

[此贴子已经被作者于2007-8-20 10:30:54编辑过]

14 回复
#2
Gramary2007-08-18 17:57
在你的Action中有一个ActionMapping 吧
用那个对象 mapping.findForward("adminQueryPlateAll");
这样就可以跳到 admin_5_1.jsp了
#3
guoxhvip2007-08-18 18:46
404那就是找不到页面啊
#4
huluhulu882007-08-20 10:32
我是想转到一个Action类,不是页面。难道是我表达的清楚?
#5
j2ee20082007-08-20 11:30
request.getRequestDispatcher("/项目名称/adminQueryPlate").forward(request,response);
例如:
我的项目是:text1

request.getRequestDispatcher("/text1/adminQueryPlate").forward(request,response);

应该这样,我没有用过!!你试试!!
#6
silver2007-08-20 12:11
Gramary版主说得没错呀,mapping.findForward("adminQueryPlateAll");引号里的内容是你想跳转的ACTION的映射
#7
j2ee20082007-08-20 12:51

或:
request.getRequestDispatcher("/项目名称/adminQueryPlate.do").forward(request,response);
例如:
我的项目是:text1

request.getRequestDispatcher("/text1/adminQueryPlate.do").forward(request,response);

应该这样,我没有用过!!你试试!!

#8
huluhulu882007-08-20 16:26
j2ee2008:
` 你的方法不能通过,不行。

Gramary:
你的方法能跳转到,可是不能跳转到页面上与我写的一个效果(request.getRequestDispatcher("/adminQueryPlate").forward(request,response);唯一的不同就是Gramary的方法不报404错误,而我的报404
先声明一下,我的方法虽然报404错误,但也成功执行程序,也是没跳转
#9
j2ee20082007-08-21 12:22

都不行?? 哪我在找找看!!

#10
huluhulu882007-08-21 16:51

说也奇怪,连Action类都执行了,而且也正常,但就是不跳转,真是晕

#11
j2ee20082007-08-22 14:59

哪你这样试试:
return mapping.findForward("/项目名称/adminQueryPlate.do");
或:
return mapping.findForward("/adminQueryPlate.do");

#12
huluhulu882007-08-23 12:25
我试了很多方法都不行,所以我就用了一个页面做为桥梁,虽然不太合适,但毕竟能看见效果。
#13
huluhulu882007-08-23 12:37

现在我又碰到一个jsp页面跳转的问题?

从一个下拉列表中选择一项,然后把值通过onChange="show(传的值);"再提交到一个Action处理。

[CODE]function show(param)
{
var p=parseInt(param);
location.href="refreshSelectPlate.do?plateId=p"
}[/CODE]

我解决不了的是:页面跳转时报错,
[CODE]javax.servlet.ServletException: For input string: "p"
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause
java.lang.NumberFormatException: For input string: "p"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:447)
java.lang.Integer.parseInt(Integer.java:497)
com.yourcompany.struts.action.RefreshSelectPlateAction.execute(RefreshSelectPlateAction.java:43)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)[/CODE]

我能确定的是传的那个参数 p 不是数字,而且非常肯定,从下拉列表传递的值是正确的

因为我把p换掉就完全正常了 例如:location.href="refreshSelectPlate.do?plateId=3"

怎么能把它转化为数字呢?真是晕死 在线等!


[此贴子已经被作者于2007-8-23 12:40:08编辑过]

#14
huluhulu882007-08-25 21:46
正解:
location.href="refreshSelectPlate.do?plateId="+p;
#15
sailyyang2007-08-27 13:46
昏了
1