3

Struts2の新しいテーマテンプレートを作成しました。

だから私は次のコードを私のstruts.xml:に配置しました

<constant name="struts.ui.theme" value="mynew" />

このテンプレートディレクトリはどこにあるので、新しいテーマをそこに入れることができます。私は多くの場所を試しましたが、どれもうまくいきませんでした。

java.io.FileNotFoundException: Template /template/mynew/actionerror.ftl not found.
4

2 に答える 2

0

Struts 2は、最初に名前でタグのテンプレートを探しますwebroot/template/theme。また、テンプレートが見つからなかった場合は、Struts2コアjarの一部であるデフォルトのテンプレートを使用します。この機能の詳細については、テンプレートの読み込みをご覧ください。

テンプレートディレクトリは、次の順序でいくつかの異なるルールを使用して選択できます。

  • 特定のタグのtemplateDir属性
  • 名前が付けられたページスコープ属性templateDir
  • 名前付きのリクエストスコープ属性templateDir
  • 名前の付いたセッションスコープの属性templateDir
  • templateDirという名前のアプリケーションスコープの属性
  • struts.ui.templateDirプロパティstruts.properties(デフォルトはテンプレート)
于 2012-10-20T10:23:22.163 に答える
0

テンプレートを正しいフォルダーに配置するためのRomanCの回答の主な手がかりは、彼がwebrootについて言及していることです。私はこれを他のどこでも見たことがありません。これに基づいて、実際の例を示します。

私のプロジェクトは、次のようなEARファイルにあります。

  • my_project_ejb.jar
  • my_project.war
  • 必要なjarファイルを含むlibフォルダー

テンプレートを機能させるには、最上位のWARファイルに「テンプレート」(またはそれを構成するその他のフォルダー)フォルダーが必要です。その中に、テーマの名前でフォルダーを作成します。

私のプロジェクトはMavenで構築されているので、私のFTLファイルはmy_web_project/src/main/webapp/template_dir_name/theme_name/my_field_template.ftl

これが誰かに役立つことを願っています。それを理解するのに少し時間がかかりました。

于 2019-04-29T09:27:11.857 に答える