簡體   English   中英

通過3rd-party-Servlet生成的表單將參數傳遞到下一個JSP頁面

[英]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.jsppage2.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM