怎么样在转发前把参数存到request中去?

transposon 2007-04-10 02:53:26
request有个getParameter()方法,怎么就没有一个setParameter方法呢?

我是在做一个登录后自动转发的功能
比如有个链接死这样的: /example.jsp?id=111
如果用户没有登录则先跳转到登录页面
完成登录后系统自动转发到这个链接
现在发现如果用<jsp:forward>标签和request.getRequestDispatcher(" /example.jsp?id=111").forward(request,response);后都把id这个参数丢失了
也就是id没有传到example.jsp中
请问,我该用什么方法才能在example.jsp中获得id的值啊?
...全文
619 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hcx_2008 2007-04-10
  • 打赏
  • 举报
回复
解决方法挺多的,都是正解
backhamx7 2007-04-10
  • 打赏
  • 举报
回复
pczhouji(咱也进城了) ( )
正解
jr_zhang 2007-04-10
  • 打赏
  • 举报
回复
用js啊!

例如你的登录页面为login.jsp

当你要到登录页面时把当前页面的URL当参数.

你那个是死链接,可以这样:../login.jsp?url="/example.jsp?id=111"

在login.jsp页面上加:

<%
String url=request.getParameter("url");
session.setAttribute("url",url);
%>


然后在你以前登录成功应该转向的那个页面(例如是loginafter.jsp)上添加:
<%
String url=(String)session.getAttribute("url");
%>

<script type="text/Jscript">
var forward=<%=url%>;
function jumpHtml()
{
if(forward!=null){
window.location="/example.jsp?id=111";
}
}
</script>

最后在该页面(loginafter.jsp)的<body>里调用这个函数:
<body onLoad= jumpHtml()>
伟大的左前卫 2007-04-10
  • 打赏
  • 举报
回复
是的,可以那样写。HttpServletRequest没有setParameter方法,呵呵。
edsoft 2007-04-10
  • 打赏
  • 举报
回复
request.setAttribute("xx",obj);
Object obj=request.getAttribute("xx");
transposon 2007-04-10
  • 打赏
  • 举报
回复
to 楼上:
那我如果有多个参数呢?可以写成这样吗?
<jsp:forward page="example.jsp>
<% for(int i= ...... ) %>
<jsp:param name="..." value="<%=...%>;"/>
<% } %>
</jsp:forward>

我是想,如果jsp的这个标签能够向请求加入参数
那servlet中肯定也有方法能够set参数,但我就是没有找到这个setParameter方法
伟大的左前卫 2007-04-10
  • 打赏
  • 举报
回复
用<jsp:forward>标签的话,传参数这样:
<jsp:forward page="example.jsp>;
<jsp:param name="id" value="<%=id%>;"/>;
</jsp:forward>;

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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