两个jsp页面间跳转时,需要传递参数,且在跳转后页面的js中需要使用传递过来的参数,应如何处理?
此处提供两种方法。
方法一:
采用jsp的<% %>和<%= %>来实现。
如传递的参数为ids,则可在接收参数的页面使用如下代码
<%
String ids=request.getParameter("ids")==null?"":request.getParameter("ids");
%>
在js代码中使用var ids='<%=ids%>';来获得上面的的值。
方法二:
采用input的隐藏域。
如传递的参数是数组ids,则可以写成如下,如不是数组,则可以仅仅写一个隐藏域即可。
<c:set var="s" value="${1 }" />
<c:forEach items="${ids }" var="id">
<input id="${s }" type="hidden" name="ids" value="${id }">
<c:set var="s" value="${s+1 }" />
</c:forEach>
在js代码中使用如下代码,来获得上面的的值。
var ids=[];
$("input").each(function(){
var value = $(this).val(); //这里的value就是每一个input的value值~
ids.push(value);
});
第一种方法相对代码较少,但本人习惯采用第二种代码,具体两者的优缺点(如执行效率等问题)还望了解的人多多指教。