スポンサーサイト

-------- --:--:-- --

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

【Java】slim3 で velocity 用のファイルを出力する【slim3】

2011-11-15 15:06:27 Tue

slim3のbuild.xmlはslim3jspファイルを自動で生成してくれる。
これをVelocity用のファイルに変えたかった。
Javaで書けばいいんだけどコンパイルとかしたくなかったしひとまずjavascriptで済ませた。

ただ、Velocityテンプレートファイルは残念なテキストファイル(antのpropertyfileタスクだからな…)が出力されるので中身をHTMLの記述に変更しないといけないのと、
コントローラクラスでフォワード先がjspファイルになっているので書き換えないといけない。

だせー。


<target name="gen-controller">
<input message="Input a controller path." addproperty="controllerPath"/>
<gen-controller srcdir="${srcDir}" testdir="${testDir}" wardir="${warDir}" controllerpath="${controllerPath}" useView="true"/>
<!--        <gen-view wardir="${warDir}" controllerPath="${controllerPath}"/>-->
<!--      <echo message="${controllerPath}"/>-->
<script language="javascript"><![CDATA[

// Systemのインポート
importClass(java.lang.System);

// 入力文字列の取得
var text = project.getProperty("controllerPath");

// 入力文字列のサイズ取得
var size = text.length();
System.out.println(size);
System.out.println(text);

var cnt = 0;
var str = "";
var list = new Array();

// "."区切りでの手動split
for(var i = 0; i < size; i++){
      var c = text.substring(i, i + 1);
   System.out.println(new String(c));
      if(c == "."){
   list.push(str);
   System.out.println(str);
        str = "";
      } else {
   str = str + c;
      }
   }

// "."区切りで区切り文字として最後の文字列
System.out.println(str);
project.setNewProperty("filename", str + ".vm");

// 区切られた文字列を"/"でディレクトリパスとして結合
// なぜかlistのサイズが取得できない…
var dirpath = "";
  for(var i = 0; i < size; i++){
var item = list[i];
if(item != undefined && item != ""){
     System.out.println("*********");
     System.out.println(item);
if(i == 0){
   dirpath = dirpath + item;
} else {
   dirpath = dirpath + "/" + item;
}
}
}

// プロパティに書き出し
project.setNewProperty("dirpath", dirpath);
]]></script>
  <echo message="${dirpath}"/>
  <echo message="${dirpath}/${filename}"/>
<mkdir dir="./war/WEB-INF/template/${dirpath}"/>
<propertyfile file="./war/WEB-INF/template/${dirpath}/${filename}">
</propertyfile>
</target>


ひとまずね。
スポンサーサイト

⇒comment

Secret

名言集
全記事(数)表示
全タイトルを表示
ブログ内検索
Loading
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。