如何将具有特殊字符的参数从一个jsp页面传递到另一个jsp页面?

时间:2013-12-11 17:42:11

标签: java jsp

我在jsp中有以下代码。

<%
String po = request.getParameter("PO");
String mo = request.getParameter("MO");
String ao = request.getParameter("AO");
String op = request.getParameter("OP");

String args = "PO="+polno;
args += "&MO="+mo;
args += "&AO="+ao;
args += "&OP="+op;  //here the value of the op is S#M.
%>

<HTML>
<FRAME SRC="<%=root%>/cso/PoCommentsForm.jsp?<%=args%> NAME="PoCommForm" >
</HTML>

在上面的代码中,当args(arguments)传递给Frame中的jsp页面时,op值S#M在#之后被截断,它只取值为S。 如何在args中传递剩余的值和#S#M而不被截断。

如果有什么奇怪的事,请告诉我。

1 个答案:

答案 0 :(得分:3)

您需要URL-encode每个参数:

String op = URLEncoder.encode(request.getParameter("OP"), "UTF-8");

或者,您可以传递整个原始query string

<FRAME SRC="<%=root%>/cso/PoCommentsForm.jsp?${request.queryString} NAME="PoCommForm" >