0

状況:特定の国ごとに個別のjspファイルを使用するアプリケーションがあります(ビューリゾルバーで実装しました)。ただし、このアプローチでは、そのページに特定の変更がない場合でも、国ごとに jsp の変更を繰り返す必要があります。
例:「en」テーマのユーザーの場合、「de」テーマのユーザーとは異なる請求書ページがあり、レイアウトとロジックが異なります。同じコントローラーに移動し、ユーザーに応じて異なるアクションを実行します。
しかし、ほとんどの場合、ロジックと jsp ページは同じです (アカウントのリストなど)。
質問:このロジックを保持し、その特定のアクションのフォールバック ページを作成するにはどうすればよいですか? /de/invoice.jsp が存在する場合はこれを使用し、それ以外の場合は /invoice.jsp を使用します (drupal のテーマと同様)
アプリケーションサーバーとしてTomcatを使用しています。

なにか提案を?

(「テーマ」とは、Spring がテーマをサポートすることを意味するのではなく、一般的な問題は Spring のテーマで解決できることに注意してください。)

4

1 に答える 1

0

<jsp:include>基本的に、動的にページを選択したいだけです。

ページ名を「invoicePage」という変数に含めるとします。次に、ビュー リゾルバーで参照されるページ テンプレートに、次のようにその変数を含めることができます。

<jsp:include page="${invoicePage}"/>

したがって、唯一の秘訣は正しい送り状ページを選択することです。

Spring テーマには、これに対する優れた解決策があります。テーマ固有のインクルードの名前をテーマ固有のプロパティ ファイルに入力すると、Spring がデフォルトにフォールバックします。

または、おそらく特定のコンテンツを持つ国をリストするか、国ごとにインジケーターを設定する構成に基づいて、独自に実装することもできます。どのソリューションが適切かは、アプリの残りの部分をどのように構成したかによって異なります。

于 2011-10-08T17:42:47.783 に答える