[英]Passing parameter to next JSP page by a 3rd-party-Servlet-generated form
我正在嘗試修復組織中舊版應用程序中的錯誤。 我需要以動態生成的形式傳遞一個額外的參數。
page1.jsp
<%
request.setAttribute("param", param);
// ...
%>
<form name="xx">
...
</form>
<jsp:include page="servlet1" />
Servlet1
正在調用另一個Servlet2
,后者又調用Servlet3
將一些代碼打印到page1.jsp
。 生成的HTML輸出如下所示:
<form name="xx">
...
</form>
<form name="yy" action="page2.jsp" >
...
<input type="submit">
</form>
我需要能夠將“ param”值從page1.jsp
給page2.jsp
。 request.setAttribute()
無法正常工作。 Servlet類Servlet3
由供應商提供,因此我無法在表單“ yy”內設置隱藏的表單變量以將其傳遞給page2.jsp
。
如何以其他方式實現這一目標?
最簡單的選擇是使用JavaScript向表單添加隱藏的輸入字段。 在插入表單的位置之后 ,將以下腳本添加到JSP的底部。
<script>
var input = document.createElement("input");
input.type = "hidden";
input.name = "param";
input.value = "${param}";
document.forms['yy'].appendChild(input);
</script>
但是,您僅取決於最終用戶是否支持JS。 唯一的服務器端替代方法是在HttpServletResponseWrapper
幫助下自行更改Servlet3
的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.