我在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而不被截断。
如果有什么奇怪的事,请告诉我。
答案 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" >