簡體   English   中英

如何使用JSP頁面保持參數轉向

[英]how can I keep the parameters using JSP page turn

a.jsp:

<form method=post action="b.jsp">
<INPUT TYPE="text" name="test" value="hello world!">
</form>

b.jsp:

<%@ page language="java" contentType="text/html;charset=UTF-8" %><%
response.sendRedirect("http://example.com/c.jsp");
%>

http://example.com/c.jsp :(此頁面位於其他服務器中)

<%@ page language="java" contentType="text/html;charset=UTF-8" %><%
System.out.println(request.getParameterValues("test")); //must use request.getParameter
%>

如何在c.jsp獲取參數test

請不要使用GET方法,如: response.sendRedirect("c.jsp?test=helloworld!");

我嘗試使用forward,但拋出異常:

404 Not Found
/acc/http:/example.com/ccc.jsp was not found on this server. 

感謝幫助 :)

你不能(除了你提出的GET解決方案,實際上並沒有那么糟糕)。

好吧,您可以使用會話來存儲輸入值並在讀取后將其刪除(類似於閃存范圍),但如果使用相同會話的多個選項卡,則可能會遇到麻煩。

如果您想使用客戶端重定向,那就是這樣。 如果您可以使用轉發(服務器端重定向): request.getRequestDispatcher("/c.jsp").forward(request, response) - 因此請求保持不變,並且您有可用的請求參數。

最后 - 不要在JSP中這樣做。 使用servlet編寫邏輯。

更新:因為您的c.jsp在另一台服務器上,您實際上沒有任何選項(除了GET)

看來你可以使用307重定向來重定向使用帖子 - 檢查這個問題 (這是關於asp.net,但是在java響應類中有類似的方法)

您可以嘗試request forward() (參考 )或<jsp:forward> 。( 參考

只需讓表單直接提交到該URL即可。

<form method=post action="http://example.com/c.jsp">
    <input type="text" name="test" value="hello world!">
</form>

不需要克勞德的彎路。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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