問題タブ [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.
java - Struts 2 規約プラグインで複数の親パッケージを定義
私はStruts 2 Webアプリケーションに取り組んでおり、コンベンションプラグインを使用して注釈を介してすべてを構成しています。複数の親パッケージを使用したいアクション クラスのいくつかで問題が発生しています。私はApacheのサイトでそれを行う手段を見つけましたが、それは非推奨のようです. タイプの不一致をスローして機能しません。エラーString[]
に変換できません。String
Struts 2.2.1 を使用しています。注釈を介してアクションに複数の親パッケージを付与することは可能ですか? 彼らがこれを機能として削除したのは奇妙に思えます。
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
、照合しようとする「結果」はまったくありません。
struts2 - 注釈の Struts2 トークン インターセプタ
トークン インターセプターで struts 2.3.1 を使用しています。アノテーション (規約) ベースのアクション クラスでトークン インターセプターを使用するにはどうすればよいですか。
ここに私のstruts.xmlがあります
誰でも同じことに基づいて注釈を教えてください。
java - 実際の Struts 2 アノテーションの問題
Struts2 アノテーションを使用しました
私web.xml
は:
私のJSPは:
私のクラスは:
エラーが発生しました:
フォルダ構造:
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アクションクラスのメソッドを例外的に忘れるように指示するのは合理的と思われます。それは正しいですか、どうすればそれを達成できますか?より良い解決策はありますか?
rest - struts-rest-pulginのデフォルトのマッピングルールを変更する方法
私はstruts2+コンベンション+レストを使用してWebプロジェクトを構築しています。コンテンツフォルダには多くのjspファイルがあります。だから私はそれらをフォルダごとに分類したいと思います。たとえばuser.jsp
、user-list.jsp
とuser-edit.jsp
を\content\user
フォルダに入れたいと思います。Namespace
そして、次のように、に注釈を追加する必要がありUserController
ます。
しかし、そうすると、アクセスするためのURLがにuser.jsp
変わりますlocalhost:8080\projectName\user\user
。user
私はURLをあまり好きではありません。
だから私の質問は、デフォルトのマッピングルールを変更してアクセスできるようにすることはできますuser.jsp
かlocalhost:8080\projectName\user
?変更できない場合、\WEB-INF\content
フォルダ内の多くのjspファイルを管理するにはどうすればよいですか?
どんな助けでも大歓迎です。
java - struts2 規約プラグインが正しく機能しない
コンベンション プラグイン Struts2 を使用してアプリケーションを実行しようとしていました。アプリケーションは次のstruts.xml
ように構成しても問題ありませんでした。
今、私はそれを削除しstruts.xml
、次のような注釈を追加しました:
しかし、アプリケーションを実行しようとすると、次のエラーが発生します。
メッセージ:
私web.xml
はこれです:
私が間違っているところでは、助けていただければ幸いです。
よろしく。
struts2 - Struts2 検証アノテーションは複数のメッセージを提供します
コンベンションプラグインを使用しています。以下は @Validations アノテーションです。
そのため、テストするフィールドに数字の代わりに文字を指定するときはいつでも。この 3 つのメッセージが表示されます。
代わりに、2番目または最初のものだけを取得することを期待しています。最初のエラーが発生した場所からN。ご覧のとおり、私はそのようなメッセージを出していません。では、一度に適切なメッセージを 1 つだけ取得するにはどうすればよいでしょうか。
よろしく。
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 はありません。そのため、この最大ファイル サイズをどこで定義すればよいかわかりませんでした...
あなたの誰かがこれに出くわしたかどうか教えてください..
あなたの助けに感謝します。