上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




SAStrutsを使用してVelocityを使えないか・・・とりあえず動かしてみることに。


SAStrutsのダウンロード


http://sastruts.seasar.org/download.html
上記URLより「sa-struts-blank-1.0.4-rc1.zip」をダウンロードし、展開します。

Velocity-toolのダウンロード


http://velocity.apache.org/download.cgi
上記URLより「velocity-tools-1.4.zip」をダウンロードし、展開します。

Velocityライブラリのマージ


展開した(velocity-tools-1.4.zip)ファイル中の下記ライブラリをSAStrutsのwebapp/WEB-INF/lib配下にコピーします。
commons-digester-1.8.jar
commons-lang-2.2.jar
sslext-1.2-0.jar
velocity-1.5.jar
velocity-dvsl-1.0.jar
velocity-tools-1.4.jar
velocity-tools-generic-1.4.jar
velocity-tools-view-1.4.jar

コピーが終了したらビルドパスに追加します。

web.xmlファイルの修正


web.xmlに下記コードを追加します。

<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>


toolbox.xmlファイルの追加


webapp/WEB-INF/toolbox.xml

<tool>
<key>escape</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.EscapeTool</class>
</tool>


velocity.propertiesファイルの追加


webapp/WEB-INF/velocity.properties

input.encoding=UTF-8
output.encoding=UTF-8
default.contentType=text/html; charset=UTF-8

webapp.resource.loader.cache = false


上記でとりあえず設定完了。次は簡単な動作検証。

動作サンプル


Velocityが動いてるかを見るだけなので、vmファイル中に変数をセットし表示できるか・・・を試す。
IndexAction
package hoge.action;

import org.seasar.struts.annotation.Execute;

public class IndexAction {

@Execute(validator = false)
public String index() {
return "index.vm";
}
}

index.vmを呼び出してるだけのactionクラス

index.vm

<html>
<head>
<title>Velocity</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
#set($aaa = "Velocityが動作しています。")
$aaa<br>
</body>
</html>

変数「aaa」に文字列”Velocityが動作しています。”をセットして、それをただ表示しているだけです。
これで無事に表示できた。。
少しでも参考になれば応援お願いします。












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。