問題タブ [struts2-convention-plugin]

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 に答える
1241 参照

java - Struts 2 規約プラグインで複数の親パッケージを定義

私はStruts 2 Webアプリケーションに取り組んでおり、コンベンションプラグインを使用して注釈を介してすべてを構成しています。複数の親パッケージを使用したいアクション クラスのいくつかで問題が発生しています。私はApacheのサイトでそれを行う手段を見つけましたが、それは非推奨のようです. タイプの不一致をスローして機能しません。エラーString[]に変換できません。String

Struts 2.2.1 を使用しています。注釈を介してアクションに複数の親パッケージを付与することは可能ですか? 彼らがこれを機能として削除したのは奇妙に思えます。

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

struts2 - Convention.annotation の削除 - struts.xml の config に置き換えます

@Actionアクションからおよびコンベンション プラグインの注釈を削除し、@Resultそれらを の同等の構成に置き換える際に問題が発生していstruts.xmlます。

これらの注釈があれば、正常にアクセスできますlocalhost:port/context/home.action

注釈を削除すると、struts.xml に「すべてをキャプチャ」の結果があるにもかかわらず、「アクションの結果が定義されていません.....」という struts エラーが発生します。struts.xml 全体は次のとおりです。

オートコンプリート関数に json の結果の型が必要なため、json-default を拡張します。

homeActionクラスのアクション マッピングが取得されない理由がわかりません。アクションマッピング「車」を削除すると、オートコンプリートが無効になるため、読み取られていることがわかりstruts.xmlます(ただし、これを検証するには、削除しようとしている注釈が必要です)。

「結果が定義されていません」は単純なエラーであり、通常はスペル/大文字化のエラーが原因であることはわかっていますが、ここでは絶対にそうではありません.「ホーム」アクションマッピング全体を単に無視しているようです.

をステップスルーするときDefaultActionInvocation.createResult、照合しようとする「結果」はまったくありません。

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

struts2 - 注釈の Struts2 トークン インターセプタ

トークン インターセプターで struts 2.3.1 を使用しています。アノテーション (規約) ベースのアクション クラスでトークン インターセプターを使用するにはどうすればよいですか。

ここに私のstruts.xmlがあります

誰でも同じことに基づいて注釈を教えてください。

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

java - 実際の Struts 2 アノテーションの問題

Struts2 アノテーションを使用しました

web.xmlは:

私のJSPは:

私のクラスは:

エラーが発生しました:

フォルダ構造:

私のフォルダ構造は

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

rest - struts-rest-pulginのデフォルトのマッピングルールを変更する方法

私はstruts2+コンベンション+レストを使用してWebプロジェクトを構築しています。コンテンツフォルダには多くのjspファイルがあります。だから私はそれらをフォルダごとに分類したいと思います。たとえばuser.jspuser-list.jspuser-edit.jsp\content\userフォルダに入れたいと思います。Namespaceそして、次のように、に注釈を追加する必要がありUserControllerます。

しかし、そうすると、アクセスするためのURLがにuser.jsp変わりますlocalhost:8080\projectName\user\useruser私はURLをあまり好きではありません。

だから私の質問は、デフォルトのマッピングルールを変更してアクセスできるようにすることはできますuser.jsplocalhost:8080\projectName\user?変更できない場合、\WEB-INF\contentフォルダ内の多くのjspファイルを管理するにはどうすればよいですか?

どんな助けでも大歓迎です。

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

java - struts2 規約プラグインが正しく機能しない

コンベンション プラグイン Struts2 を使用してアプリケーションを実行しようとしていました。アプリケーションは次のstruts.xmlように構成しても問題ありませんでした。

今、私はそれを削除しstruts.xml、次のような注釈を追加しました:

しかし、アプリケーションを実行しようとすると、次のエラーが発生します。

メッセージ:

web.xmlはこれです:

私が間違っているところでは、助けていただければ幸いです。
よろしく。

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

struts2 - Struts2 検証アノテーションは複数のメッセージを提供します

コンベンションプラグインを使用しています。以下は @Validations アノテーションです。

そのため、テストするフィールドに数字の代わりに文字を指定するときはいつでも。この 3 つのメッセージが表示されます。

代わりに、2番目または最初のものだけを取得することを期待しています。最初のエラーが発生した場所からN。ご覧のとおり、私はそのようなメッセージを出していません。では、一度に適切なメッセージを 1 つだけ取得するにはどうすればよいでしょうか。

よろしく。

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

java - Struts 2 コンベンション プラグイン - 2 MB を超えるファイルをアップロードする

サイズが 2 MB を超えるファイルをアップロードしようとすると、エラーが発生します。

Apache の Web サイトで、「2 つの個別のファイル サイズ制限があります。1 つ目は、Struts 2 の default.properties ファイルに由来する struts.multipart.maxSize です。この設定は、悪意のあるユーザーが非常に大きなファイルをアップロードできないようにするためのセキュリティ上の理由から存在します。サーバーのディスク容量をファイリングします。この設定のデフォルトは約 2 メガバイトであり、フレームワークが受信する必要がある最大サイズのファイル (最大 2 ギガバイト) に調整する必要があります。"

<constant name="struts.multipart.maxSize" value="1000000" />したがって、この問題は、struts.xml ファイルに目的の最大制限を持つタグを追加することで解決できることがわかりました。

struts2-convention-plugin を使用しているため、struts.xml はありません。そのため、この最大ファイル サイズをどこで定義すればよいかわかりませんでした...

あなたの誰かがこれに出くわしたかどうか教えてください..

あなたの助けに感謝します。