私のタイムゾーンでこんにちは。
strutsフレームワークを使用してWebアプリケーションを開発しています。簡単に言うと、ユーザーがアプリケーションを呼び出すと、最初に呼び出されるアクションはSecurityActionであり、このアクションは2つのアクションのいずれかにリダイレクトされます。これがリダイレクトの方法です。
if (user == "type_profile")
forward = mapping.forward("action2Fwd");
else
forward = mapping.forward("action3Fwd");
return forward;
struts-config.xmlに私は持っています
<global-forwards>
<forward name="action2Fwd" path="/action2.do"/>
<forward name="action3Fwd" path="/action3.do"/>
</global-forwards>
<action path="/action2"
type="com.teste.dummy.action2"
name="actionForm"
validate="true"
input="/action2.jsp">
</action>
私の最初の質問:これは、アクションから別のアクションにリダイレクトするための最良の方法ですか?
2番目の質問:別のアクションにリダイレクトすると、actionFormが実行されますが、このリクエストが別のアクションからのものであることをどのように知ることができますか?
フォーム内で、リクエストが別のアクションからのものである場合、何も検証したくないので、このリクエストは「ブラウザ」からではなく別のアクションからのものであることを知っておく必要があります。1つの解決策は、リクエストに何らかのフラグを設定することです。または、このリクエストが別のアクションからのものであることを示すセッションスコープですが、これが最善の方法ですか?