Strutsフレームワークを使用しているため、アクションクラスから1.jsp
取得する値があると言うJSPが1つあります。request.getAttribute("testvalue")
この値を1.jsp
から別のに送信する必要があります2.jsp
。これを行う方法を教えてください。
2.jsp
また、この値を からに送信する必要があります3.jsp
。セッションで値を設定することを避けようとしています。それで、これを行う方法を教えてください。
リクエストから値を取得するには、リクエストに値を設定する必要があります。このコード
request.getAttribute("testvalue");
値を取得していますが、そのコード
request.setAttribute("testvalue", value);
入れています。
これは、HTTP セッションの使用を避けたいためです。
ここに私が知っている4つの別の方法があります:
get Parameter を使用します。たとえば、2 番目の jsp ファイルへのリンクがあります。リンクの最後にパラメーターを追加します。このような:mysite.com/second.jsp?param1=value1¶m2=value2
最初のjspページでフォームを使用し、この使用で非表示の入力:
<form action="second.jsp" method="post">
<input type="hidden" name="param1" value="value1" />
<input type="hidden" name="param2" value="value2" />
<input type="submit" name="next" value="Next Page" />
</form>
アプリケーション変数を使用しますが、データがすべての一般的な場合、または値を保存するために特別なパラメーター名を使用します。たとえば、次を使用できます。
<% application.setAttribute("user1_param1","value1"); %>
コードで RequestDispatcher を使用します。セッションの代わりにリクエストオブジェクトにパラメータを設定します。
<%
request.setAttribute("param1","value1");
RequestDispatcher r=request.getRequestDispatcher("second.jsp");
r.forward(request, response);
%>
異なる状態で相互に使用できるようにサブティライズしてください。たとえば、ユーザーに結果を送信する前にリクエストを転送する場合は、RequestDispatcher を使用できます。他の方法では、次の使用リクエストの 2 ページ目で現在のデータを返すときに使用します。