問題タブ [dmi]

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 投票する
2 に答える
10375 参照

java - Struts 2 で単一のフォームで複数のアクションを処理する方法

フォームに 3 つのボタンprint/ export/が含まれていますsave

これをどのようにマッピングできstruts.xmlますか?

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

java - アクションのexecute()メソッドを忘れるためにStruts 2の規則を作成する必要がありますか?

私はStruts2とstruts2-convention-pluginSongCrudActionを使用して最初のステップを実行しており、現在、いくつかの典型的な、、およびアクションメソッドを使用してCRUDアクションクラス()にcreate()取り組んedit()view()delete()ます。これらのメソッドはすべて。で注釈が付けられてい@Actionます。

一般的に、便利なデフォルトの動作をから継承したいのですが、これにはメソッドActionSupportの継承も含まれます。execute()

song-crud構成ブラウザーを使用すると、それを指すという名前のアクションがあることがわかります。そのsong-crudアクションは廃止されており、必要なすべての操作に対して独自のアクションメソッドがあるため、これを削除したいと思います。Struts2の規則のおかげで、song-crud私はどこにも宣言していませんが、そのアクションが想定されていると思います。

この特定のケースでは、考えられる解決策の1つは、メソッドに合理的な意味を与えることです。execute()たとえば、view()操作に使用できます。欠点は、アクションクラスの名前をexecute()メソッドの動作に応じて(たとえばViewSongActionではなく)変更する(または注釈を付ける)必要があることですSongCrudAction。そうしないと、ビューアクションのURLが不適切になります(つまり/view-song?id=5、よりも適切になります/song-crud?id=5)。

一方、クラスの名前変更も醜いものになります。これは、単なるCRUDであり、ビューアクションクラスではないためです。

とにかく、一般的な問題は残っています:私がから継承するときはいつでも、それは私がしていることに役立つかもしれないし、そうでないかもしれないメソッドをActionSupport私に提示します。execute()

execute()したがって、Struts 2に、私のCRUDアクションクラスのメソッドを例外的に忘れるように指示するのは合理的と思われます。それは正しいですか、どうすればそれを達成できますか?より良い解決策はありますか?

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

java - アクションまたは結果が見つかりませんでした。Struts 2 のアクションに対して結果が定義されていません

値をテキストとして返すように注釈を構成しました。しかし、それは私にエラーを与えています: could not find action or result.

コンソール エラー:

アクション:

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

java - Codebehind プラグインのアクセス パスは .action ですか?

Codebehind プラグインを使用して Struts 2 のアクションとしてメソッドにアクセスできますか? struts.xmlファイルがなくaction!method、URL のように機能するためです。

メソッドにアクセスしたいだけです

クラスでStrutsタグを使用するには?

クラス :

送信ボタンのクリックで以下のメソッドにアクセスすると、JSON データを取得できますか?

したがって、URLのアクションに次のようにアクセスできます

localhost:7001/Sample/JSONmethod.action

JSONデータを取得するには?

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

jquery - JQuery Ajaxフォーム送信とStruts 2の同じフォームでの通常の送信

Struts タグ<s:submit> <sj:submit>同じフォームで動作しますか? Struts ボタンは既にあります<s:submit>が、追加しまし<sj:submit>た。

つまり、Struts 2 jQuery プラグインボタンは正常に機能していますが、Struts<s:submit>は機能していません。

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

java - Struts 2 S2-016 アップグレードまでの脆弱性の緩和

最近、Struts は攻撃者がリモート コードを実行できる脆弱性にパッチを適用しました。どうやらこれにパッチを当てないことは、ブラックハットに時流でレッドカーペットを歓迎するようなものです.

http://struts.apache.org/release/2.3.x/docs/s2-016.html

基本的に、次のような攻撃コマンドの実行を許可します。

正当な行為:

http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}

悪用されたアクション:

http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}

できるだけ早くアップグレードする必要があることは承知していますが、コード ベースは古いバージョンの Struts とプラグインを使用しているため、できるだけ早くアップグレードするには時間がかかります。

これには、Struts 2 ライブラリをアップグレードするためのリファクタリングが必要です。その後、それらをテストする必要があります。

したがって、私の質問は、この脆弱性が実行されるのを阻止する考えがあるかどうかです。これは、アップグレードできるようになるまでの期間のみです。

OGNL に対して評価される前に URL をサニタイズするインターセプターを作成することが可能かどうか疑問に思っていました。

私が持っていた他のアイデアは、何らかの形でJavaセキュリティマネージャーを使用して任意のプロセス呼び出しを停止することでした.これは可能ですか? 一時的に穴を塞ぎますか?

使用されているサーバーは、誰かが関連性があると考える場合、jBoss です。