Struts 2とFreemarkerの構成方法


Freemarkerはテンプレートエンジンであり,表現層のフレームワークともいえる,独自のテンプレート命令があり,開発者がこれらの文法に慣れていなければ表現層の開発は困難である.Struts 2フレームワーク技術はFreemarkerに対してとても良い支持をして、開発者はStruts 2のラベルを熟知すればFreemarkerテンプレートファイルを開発することができて、もしあなたはまだ具体的なStruts 2とラベルの応用に熟知していないならばその他の文献資料を参考にしてください、本文は主にStruts 2とFreemarkerの配置方法を述べます.
本明細書で説明する開発環境は、次のとおりです.
MyEclipse 6.0 +JDK 1.5 +Tomcat 6.0.
一、
開発Freemarkerテンプレートファイルプラグインのインストール
Freemarker自身がテンプレートファイルを編集する
EclipseプラグインFreeMarkerIDE-1.0.0.GA.zipは、エラーメッセージやハイライト表示などの機能を備え、freemarkerにアクセスできます.sourceforge.Netダウンロードは、Eclipse IDEが持つ機能で関連プラグインのインストールを完了することもでき、プラグインの更新アドレスはwww.freemarker.org/eclipse/update. ,プラグインの具体的なインストール構成手順は、他の文献資料を参照してください.
他のプラグインも使えます.開発を助けることができる限り.
Freemarkerテンプレートファイルでいいです.
二、
エンジニアリング開発環境の構成
1.新規作成
WebエンジニアリングfreemarkerWeb
2.到着
http://struts.apache.org、struts-2.0.11.2-allをダウンロードします.zipは開発に必要なjarパッケージをlibディレクトリに解凍してインポートします.Jarバッグ:struts 2-core-2.0.11.2.jar,xwork-2.0.5.jar,ognl-2.6.11.jar,freemarker- 2.3.8.jar,commons-logging-1.0.4.jar
3.解凍
struts2-core-2.0.11.2.JArレプリケーションMETA-INF/struts-tags.tldは工事WEB-INFディレクトリの下にコピーする
4.構成
web.xmlファイル
 
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apacher.sturts2.dispatcher.FilterDispatcher</filter-class>
</filter>  
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-parttern>/*</url-parttern>
</filter-mapping>

     <servlet>
        <servlet-name>JspSupportServlet</servlet-name>
        <servlet-class> org.apache.struts2.views.JspSupportServlet </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>




   
注意:
FreemarkerでStruts 2ラベルを使用するには、上記の太字部分のコードをwebに配置する必要がある.xmlファイルにあります.
5.作成
struts.xmlファイル
 
<struts>
 <package name="struts" extends="struts-default">
     <action name="userLogin" class="com.test.action.LoginAction" method="userLogin">
           <result name="success" type="freemarker">
                    /WEB-INF/templates/user.ftl
            </result>
       </action>
  </package>
</struts>
 
注意:
A:斜体字部分のコードは異なる応用によって配置され、斜体部分のコードは
freemarkerWebアプリケーションのコード.
B:要素のtype属性はfreemarkerに設定する必要があります.これは、FreemarkerテンプレートファイルがFreemarkerテンプレートエンジンによって解析される必要があり、Struts 2内部ではFreemarkerテンプレートエンジンが実装されていますが、結果タイプがfreemarkerであることを宣言する必要があります.
Struts2

Freemarker
の構成が完了し、開発が可能になりました.
.
三、
Struts 2とFreemarkerの構成開発プロジェクトを完了
作成
LoginAction.java
 
public class LoginAction{
     private Log log=LogFactory.getLog(LoginAction.class);
     private String username;
     private String password;
 
  /**
   *     
   * @return
   * @throws Exception
   */
   public String userLogin() throws Exception{
        log.info("       userLogin()");
        return SUCCESS;
   } 
}

 
 
対応を省略
(getter,setterメソッド)
     …
ログインページの作成
index.jsp
 <s:form action="userLogin">
           :<s:textfield name="username"/><br>
         :<s:textfield name="password"/>
        <s:submit value="  " />
 </s:form>
 
結果ページの作成:
user.ftl  
<#--
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld "]>
 -->
<html>
    <body>
      <@s.property value="username"/>  !
    </body>
</html>
 
 
注意:
A.以上のコメントの内容は削除できます.
Struts 2はデフォルトでこのラベルライブラリを導入します
B.Struts 2ラベルは
JSPページの書き方は、Freemarkerテンプレートファイルの書き方とは異なります.Freemarkerテンプレートファイルは<@s.tag>で始まり、で終わります.
JSPファイルでは
<:tag>はで開始され、終了する.適用時にをStruts 2のラベル名に置き換えます.
 
さあ、今から
freemarkerWebプロジェクトはTomcat 6に配備する.0サーバ、アクセスhttp://loacalhost:8080/freemarkerWeb/index.jsp後にユーザー名を入力して、パスワード、ログインしてすぐ見てXXを歓迎してログインします!
OK、大成功!
Struts 2とFreemarkerの構成開発プロジェクトはこのように完成した.
 
最後に注意しなければならないのは、
Freemarkerテンプレートファイルの処理は,Webコンテナでは直接処理できないため,ユーザに直接テンプレートファイルにアクセスさせない.開発中、FreemarkerファイルをWebエンジニアリングのWEB-INFディレクトリまたはそのサブディレクトリの下に直接配置し、対応するstruts-*に配置することができます.xmlファイルでtype="freemarker"を構成してテンプレートを出力します.