现在HttpUtils的功能很多都转到HttpServletRequest中去了,
现在你可以这样用:
String originalURL=HttpServletRequest.getRequestURL().toString();
struts的请求转发都是通过ActionServlet来执行的,如果这样的话,你可以考虑直接用
request.sendRedirect()和RequestDispacher.forward()来转发请求!
为什么一定要用绝对地址呢?如果得到URI不更好?
request.getRequestURI();
现在你可以这样用:
String originalURL=HttpServletRequest.getRequestURL().toString();
struts的请求转发都是通过ActionServlet来执行的,如果这样的话,你可以考虑直接用
request.sendRedirect()和RequestDispacher.forward()来转发请求!
为什么一定要用绝对地址呢?如果得到URI不更好?
request.getRequestURI();
解决方案 »
- 关于spring中@PostConstruct的使用问题
- java新手环境配置问题
- 使用keytool工具做SSL怎么添加2个网站域名
- 什么是java软件工程师
- 急求 从表单中提取两数以XML的形式 发送到服务器 解析 然后相加 再以XML形式返回 结果
- 如何在<form action="">里向action传递参数?
- 请问大家如何用表格现实数据呢,有现成的组件吗?我在struts+hibernate+myeclipse+mysql+tomcat5.5下开发的
- 怎样构建 struts+spring+hibernate 项目(对加包很不明白)
- 瞧一瞧来,看一看来,进来就有分送阿!。。。。。。。。
- 请问如何用java实现如图的整数类
- 单点登陆和LDAP是什么关系
- 使用LookupDispatchAction的表单按钮不能为中文的问题
得到了相对路径
但是仍然转发不成功
产生了java.lang.IllegalStateException: Cannot forward after response has been committed的错误
我的代码如下:
if(hf.getOriginalURL()!=null){
String url=hf.getOriginalURL();
RequestDispatcher rd=request.getRequestDispatcher(url);
try{
rd.forward(request,response);
}
catch(Exception e){}
}
return (mapping.findForward("success"));原因是当程序运行完rd.forward(request,response);后并没有立即转发
而是继续运行到了return (mapping.findForward("success"));
然后报错
String url=hf.getOriginalURL();
//RequestDispatcher rd=request.getRequestDispatcher(url);
try{
//rd.forward(request,response);
return new ActionForward(url,false);
}
catch(Exception e){}
}
return (mapping.findForward("success"));
因为forward会继续下面执行的,所以用我的办法
我目前用的就是这种方法
但是要对url进行处理
因为通过url=request.getRequestURI()得到的路径把上下文路径也包含进来了
就是/YCProject/mypage.jsp(YCProject是项目名称)
我不得不用subString()方法把前面截去
请问还有没有方法只得到/mypage.jsp呢?