日期:2014-05-18  浏览次数:20791 次

怎么样在转发前把参数存到request中去?
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的值啊?

------解决方案--------------------
用 <jsp:forward> 标签的话,传参数这样:
<jsp:forward page= "example.jsp> ;
<jsp:param name= "id " value= " <%=id%> ; "/> ;
</jsp:forward> ;
------解决方案--------------------
request.setAttribute( "xx ",obj);
Object obj=request.getAttribute( "xx ");
------解决方案--------------------
用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()>

------解决方案--------------------
pczhouji(咱也进城了) ( )
正解
------解决方案--------------------
解决方法挺多的,都是正解