[英]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響應類中有類似的方法)
只需讓表單直接提交到該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.