問題タブ [action-mapping]

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

struts2 - Indexがある場合のStruts2とconvention-pluginの挙動(ActionSupportを拡張)

com.example.common.action のすぐ下に「Index」という名前の Action クラスがあり、struts.xml のパッケージ ディレクティブで宣言され、名前空間に「/」があり、「struts」を拡張する @ParentPackage('default') アノテーションが付けられています。 -デフォルト"。また、@Result を宣言して、execute() メソッドによって返される文字列値に対応する jsp ファイルで応答するようにします。

struts.xml では、次の struts 設定が、convention-plugin に必要なその他の必要な構成と共に構成されます。

/my_context/none_existing_path にアクセスすると、リクエストは明らかにこの Index クラスにヒットし、Index の @Result セクションで宣言された jsp の内容が返されます。ただし、/my_context/ を指定すると、次のエラーが表示されます。

HTTP ステータス 404 - コンテキスト パス [/my_context] に関連付けられた名前空間 [/] およびアクション名 [] にマップされたアクションはありません。

none_existing_path に一致するアクションがない /my_context/none_existing_path にアクセスすると Index クラスにフォールバックできるが、要求された URL が /my_context/ だけの場合にエラーが返される理由を知りたいです。

現在、convention-plugin 設定は次のように宣言されています。

奇妙なことに、struts.convention.package.locators.basePackage の値を om.example.common に変更すると、検索範囲を絞り込むことで前述の Index ファイルがすぐに見つかり、/my_context/ を要求するとその内容が表示されます。 Index クラスの @Result セクションで宣言された jsps。ただし、アクション クラスは com.example.[az].action パッケージ全体に分散されているため、[az] はパッケージ構造内にある大量のディレクトリを表すため、このトリックを回避策として使用することはできません。また、index.jsp をクラス パスのトップ レベルに配置して、index.jsp を /my_context/index にリダイレクトすることも試みましたが、これは機能しましたが、必要なものではありませんでした。これはバグでしょうか?

ご回答ありがとうございます。前もって感謝します。

編集: JIRA 登録、問題解決 (Struts 2.3.12 以降)

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

java - struts2 で名前空間エラーにマップされたアクション

Struts2 でこのエラーが発生しています

プロジェクト コンテキスト ルート = TestBoard

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

これが私のWeb.xmlです

ここに私のlogin.jspがあります

私は何を間違っていますか、どうすればこの問題を解決できますか?

私に答えてください。

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

heroku - Heroku でアプリケーションにアクセスできません - コンテキスト パスがありません

過去 2 日間、私は Struts2 アプリケーション (テスト用の 1 つの単純なページのみ - 今のところデータベースも特別なものもありません) を作成し、Jetty Runner を使用して Heroku で実行するのに苦労していました。やっと実行できました - 正常にデプロイされましたが、アクセスしようとするとエラーが発生します。

ローカル開発マシンで、次のようにアプリ (という名前TestMaven) にアクセスします。

そして、それは機能します。ただし、Heroku (myappname.herokuapp.com) で自分のアプリにアクセスしようとすると、次のエラーが発生します。

これは、Heroku が であるコンテキスト パスを認識していないようですTestMaven

これは私のweb.xmlです:

そして struts.xml:

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

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

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

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

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

メッセージ:

web.xmlはこれです:

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

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

java - Struts 2 でデフォルトのインターセプターのスタックによってスローされた例外をキャッチする方法は?

Struts 2 でデフォルトのインターセプターのスタックによってスローされた例外をキャッチする方法は?

例外メッセージ:

処理を定義したいので、例外をキャッチする方法は?

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

struts2 - 名前空間 [/] とコンテキスト パス [APP_NAME] に関連付けられたアクション名 [abc] にマップされたアクションはありません

Struts2 コードで注釈を使用すると、この問題が発生します。

私の Annotated Action クラスは、インターセプターを使用しているこのようなもので、私のアーキテクチャは Spring 3、Struts 2 に基づいており、Struts2 Convention Plugin を使用しています

また、デプロイメント記述子の詳細を同封しようとしています

struts.xmlインターセプターと結果タイプを定義するために使用するインターセプターを定義しました

true または falseでも試しましdevModeたが、役に立ちませんでした。

私のディレクトリ構造は

編集:

詳細を調べて詳細なログを追加した後、ログにもう 1 つ記録されました。

ここで言及した例外は 1 つだけですが、アプリケーションで使用できる各アクション クラスで同じ例外が発生します。