問題タブ [actioncontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1105 参照

struts2 - 新しいアクション オブジェクトごとに新しい ActionContext と ValueStack が作成されますか?

私の質問は次のとおりです。

1) Struts2 では、すべてのアクション オブジェクトに独自の対応するActionContextandがありValueStackますか?

つまり、新しいリクエストごとに新しいアクション オブジェクトが作成されます。これは、新しいアクション オブジェクトが作成されるたびに、新しいものActionContextValueStack作成されるということですか?

2) 次のシナリオを検討してください。

Action1------1 つ目の要件------->view.jsp------2 つ目の要件--------->action2

そのため、action1 に対するリクエストが来ると、action1 の新しいオブジェクトとそれに対応するActionContextandValueStackが作成されます。

(ハイパーリンクをクリックすると) view.jsp から新しい要求が action2 に送られます。

これは、(action1 に関連する) 前ActionContextの andValueStackが破棄され、(action2 の) 新しいActionContextandValueStackが作成されることを意味しますか?

3) ActionContextview.jsp の (action1 の) に何かを保存し、(view.jsp から) action2 のハイパーリンクをクリックすると、ActionContext(action1 の) とともにそのデータは失われますか?

ありがとう。

0 投票する
1 に答える
1324 参照

java - インターセプターでの実行メソッドアノテーションの取得

特定のユーザー権限にアクセスする必要があるアクションがあるので、メソッドアノテーション@RequiredPermissionとインターセプターを作成して、実行されるメソッドにアノテーションがあるかどうか、およびログに記録されたユーザーかどうかを確認しました。許可を得てください。

問題は、ActionInvocationからもActionContextからもこの情報を取得する方法がわからないことです。

それはそれを行うための1つの方法であると確信しています。そうでない場合は、おそらくそれを使用するのに適したフレームワークではないと思います。

ヒントはありますか?

0 投票する
0 に答える
1722 参照

java - Struts2およびSpringsecurity3とのセッションの処理

Struts2とSpringsecurity3を統合しようとしています。両方でセッションを処理する方法がわかりません。標準的な方法はありますか?

セッション処理、ActionContextに組み込まれたstrutsセッションを知っています

例えば

しかし、それと一緒にスプリングセキュリティを使用する方法ではありません。

Spring Security3の使用に関するSpringMVCチュートリアルはたくさんありますが、Struts2とSpringSecurity 3についてはそれほど多くありません。良いチュートリアルを知っていますか?それとも、Spring MVCを使用したほうがいいでしょうか?

0 投票する
2 に答える
5334 参照

struts2 - Struts2 ActionContext と ValueStack?

私の質問は次のとおりです。

  1. Struts2 では、すべてのアクション オブジェクトに対応する独自の ActionContext と ValueStack がありますか?

つまり、新しいリクエストごとに新しいアクション オブジェクトが作成されます。これは、新しいアクション オブジェクトが作成されるたびに、新しい ActionContext と ValueStack も作成されるということですか?

  1. 次のシナリオを検討してください。

Action1------1 つ目の要件------->view.jsp------2 つ目の要件--------->action2.

そのため、action1 に対するリクエストが来ると、action1 の新しいオブジェクトと、対応する ActionContext および ValueStack が作成されます。

(ハイパーリンクをクリックすると) view.jsp から新しい要求が action2 に送られます。

これは、以前の ActionContext と ValueStack (action1 に関連) が破棄され、新しい ActionContext と ValueStack (action2 用) が作成されるということですか?

  1. view.jsp の (action1 の) ActionContext に何かを保存し、(view.jsp からの) action2 のハイパーリンクをクリックすると、そのデータは (action1 の) ActionContext とともに失われますか?
0 投票する
1 に答える
2856 参照

struts2 - (Struts2) インターセプターから Action インスタンスに新しいパラメーターを追加する方法は?

XML リクエストを前処理するインターセプターを作成したいと考えています。このインターセプターでは、XML を解析し、処理された情報を ValueStack に配置して、アクション内のインスタンスにマップできるようにします。しかし、私は非常に多くの方法を試しましたが、どれもうまくいきません。誰でも私を助けてアドバイスをくれますか?ありがとう!

Interceptor

で //ValueStack
ActionContext を取得 ctx = invocation.getInvocationContext();
マップ ctxMap = ctx.getValueStack().getContext();

//次のことを試しましたが、次のいずれも動作しません
ctxMap.get("com.opensymphony.xwork2.ActionContext.parameters")).put("data1", "1");
ctxMap.get("パラメータ")).put("データ1", "1");
ctxMap.get("リクエスト")).put("データ1", "1");
ctx.getParameters().put("data1",new String[]{"1"});

0 投票する
1 に答える
1813 参照

spring - Strut 2.3.1.2 単体テスト、Spring の共依存と getContext() を使用して NPE を削除する方法

Struts 2.3.1.2 にアップグレードしたばかりで、JUnit テストでいくつかの問題があります。

私の古いテストコードはこのようなものでした....

アクション クラスの execute メソッドには、次のコードがあります。

これにより、LocalizedTextUtil で NullPointerException が発生します...

今、私はこれを試してみることができました...

しかし、コンテキストからの Valuestack が null であるため、NullPointerException が発生します。これらの問題を解決しようと何度も試みることはできますが、それは無駄な作業のように思えます。もっと良い方法があるに違いない?!?

良い....

新しいStruts 2.3.xx testing docに従います

私の struts.xml は春に配線されています。

私のテストクラス

しかし、これは完全に実装された Spring 注入 Action クラスを取得することを意味します! ほとんどの人は「はい!!!」と言うでしょう。この時点で。

私の問題は、これがUNITテストクラスではないことです.DB層までずっと呼び出しを行っています。これは、実行時に配線されているためです。

だからここに私の質問があります、私はそれに到達するのに時間がかかったことを知っています.必要なリソースにアクセスできるActionクラスを取得することは可能ですか(getText()などのメソッド呼び出し用)、しかしすべてがSpringではありません配線?

現時点では、アクションで setServicexxxx に一致するすべてのメソッドを削除するために、リフェクション ルートに進みたいと思っています。少なくとも、テストの実行時に NullPointerException が発生し、そのサービスをモックアウトできますが、それは間違っています。Spring コンテキストの起動に 2 秒も費やさずに、テストを FAST にしたいと考えています。

Struts2.3 は、ユニット テストとは何かというマントラに従わないベース テスト クラスを作成したのはなぜですか?

これは、Struts 2.0.9 (xwork-2.0.3.jar) では問題ありませんでした。

私は何が欠けていますか?

0 投票する
1 に答える
2884 参照

struts2 - Struts2 セッションの有効期限が切れました

アプリに struts2jquery グリッド プラグインを使用しています。セッションタイムアウトにインターセプターを使用しており、web.xml でセッションタイムアウトを構成していますが、問題はセッションタイムアウト後に login.jsp などの必要なページに移動しないことです。私の struts.xml は次のとおりです..

デバッグ中にインターセプター クラスに入ることができますが、ログイン ページにリダイレクトされません。私のコードの問題は何ですか?

私のインターセプターメソッドは..

0 投票する
3 に答える
3508 参照

java - Struts2は、プロパティタグを使用してjspからActionContextにアクセスします

私はしばらくの間この情報を調べてきましたが、オンラインにはあまりないようです。

簡単にするために、タグActionContextを介してどのようにアクセスしますか?<s:property/>

com.opensymphony.xwork2.ActionContext.locale基本的に(現在のロケール)を取得したい

私はこれらすべてを試しましたが、どれもうまくいかないようです

そしてこれらのより多くの組み合わせ。

ありがとう

0 投票する
2 に答える
1850 参照

struts2 - struts2i18ninterceptorが同じページまたはアクションに戻る

私は自分の問題について2時間グーグルで検索しましたが、それでも解決策を見つけることができませんでした。

私がやりたいこと:

私は国際的なアプリケーションにstruts2を使用しているので、多言語サポートが必要です。そのため、i18n-Interceptorは、通過するパラメーターが1つだけでロケールを変更することがわかりました(非常にクールです!)。ここで、アプリケーションの任意の時点でロケールを変更して、ユーザーが言語を変更し、元のページまたはアクションと同じページに転送されるようにします。これはそれほど簡単ではないようです。私はすでにグーグルで見つけた次のことを試しましたが、私にはうまくいきません:

  1. JSPでacutallURL/ URI( "ShowUser.action"など)を使用し、これを別のロケールで呼び出します->パラメーターを使用してjspで完全なURLまたはURIを取得する方法が見つかりません。URLはタイル(つまり/content/site/user.jsp)から現在のサイトを提供し、URIは私のタイルレイアウト(つまり/content/layout.jsp)を返します。request.getRequestUrl()とrequest.getRequestURI()を試しました

  2. actionContextを使用して、JSPの完全なURLを取得します->方法が見つかりません。

  3. 「ChangeLocale.action」で「request.getHeader( "referal")」を使用し、これをstruts.xmlでredirectActionとして動的に設定します->動作していますが、パラメーターなどを使用してURLを解析するにはコードが多すぎます)

3番目のポイントは次のコードで作業することですが、私はより良い解決策を探しています:

struts.xmlの関連部分

LocaleAction.java:

だから私はすなわち行動から来ました:

そして、ユーザーサイトで別の言語に切り替えると、LocaleActionはforwardActionを返します。

だから、これは機能していますが、私にはダークサイドのように見えますか?この(私が思ったように)「小さな」問題を解決するための正しい解決策は何ですか?回答ありがとうございます。

よろしくトーマス:-)

0 投票する
2 に答える
6087 参照

struts2 - actioncontext と actionInvocation struts2 の違いは何ですか?

ActionContext と ActionInvocation に関して少し混乱しています。Action Context は Action が実行されているコンテキストであることを知っています。ActionInvocation は、Session、Value Stack などの ActionContext 内にありますか? 次に、ActionContext はスレッドごとに一意であるため、すべてのユーザー要求で作成されますか? もしそうなら、これはすべてのユーザー要求で毎回新しいアクション コンテキストを作成するにはコストがかかりすぎますか?