JooReports勉強記録

JooReports   
おそらく日本で初めてJooReports(JooTemplates)をオープンソースの帳票ツールで一押しとキッパリ公言してしまった人のこっそりやってる勉強の記録

2004-05-21

[][]For Each Tag

1.0b1で初登場したFor Each Tagを使ってみる・・・

Items Expressionには配列の値(items)

Variable Nameには一つずつに付ける変数名(item)

Document Elementはそのままtable-row

そして~

それぞれの項目には#(Variable Nameの名前).プロパティー名(#item.nameなど)

プログラムにはDataModelが無い事以外大して変化無し(^^;

なんともあっさりと終わりました。

ポイント!

Items ExpressionとVariable Nameは別の名前を付けましょう!

#ってこれのパターンを見つけるのにちょっと苦労しただけです。

そういえば、大事な事を書き忘れてました。ファイル形式がstwからsxwに変わりました。単純に言えば普通のWriter形式のファイルです。

2004-05-18

[][]JooTemplatesその3

間が空くとやらなくなりそうなのでとりあえずiterateを挑戦!

#ソースを見てこれは動くと思っているのは秘密

サンプルのドキュメントを見習って、テーブルに入力フィールドを追加、行の最後のところに<ここからポイント!

挿入=>スクリプト

JooScript

<iterate element="table-row" items="items"/>

を追加していつものようにstw形式で保存

変更したソースはこんな感じ

Map map = new HashMap();

List items = new ArrayList();

map.put("items", items);

for (int i = 0; i < 3; i++) {

Map item = new HashMap();

items.add(item);

item.put("name", "なまえ "+ i);

item.put("tako", "凧 "+ i);

item.put("value", "値 "+ i);

}

DataModel model = new BeanDataModel(map);

さくっと出来ました。んーなんかありがたみがないくらい簡単。すばらしいね

そろそろS2Daoが出来るからこれで連携テストも可能だなぁ~

#たまにはS2って書かないと何故このグループでやってるのか不思議になるから(^^;

ってことで明日からはほかのスクリプトタグの謎を調査する予定

2004-05-14

[][]JooConverter

正式リリース前ですがOpenOffice.orgの1.1.1日本語版をDLPDF生成試してみました。

結果、うまくいきます。日本語フォントも大丈夫です。添付したいけどPDFは添付出来ないと思うので公開はとりあえずパス(笑)

[][]JooTemplatesその2

BeanDataModelを試す!ということで昨日のコードを流用しつつさくさくと作る(笑)

public static void main(String[] args) {

Template template = null;

try {

template = new Template(new FileInputStream("J:/TekitouBeanTest.stw"));

} catch (FileNotFoundException e) {

// TODO 自動生成された catch ブロック

e.printStackTrace();

return;

} catch (IOException e) {

// TODO 自動生成された catch ブロック

e.printStackTrace();

return;

} catch (TemplateException e) {

// TODO 自動生成された catch ブロック

e.printStackTrace();

return;

}

TekitouBean bean = new TekitouBean();

bean.setName("hoge");

bean.setAddres("StarLogic");

bean.setMail("himitu");

DataModel model = new BeanDataModel(bean);

try {

template.createDocument(model, new FileOutputStream("J:/TekitouBeanTest.sxw"));

} catch (FileNotFoundException e1) {

// TODO 自動生成された catch ブロック

e1.printStackTrace();

} catch (IOException e1) {

// TODO 自動生成された catch ブロック

e1.printStackTrace();

} catch (TemplateException e1) {

// TODO 自動生成された catch ブロック

e1.printStackTrace();

}

}

ファイルも作ってさくっと動作。なんか拍子抜けなほど簡単。ちなみに、日本語フォントで元ファイルを作っておけば日本語フォントもOKです

次はiterator使ってみたいな~

2004-05-13JooConverter 1.0b3 released

[][]JooTemplatesその1

とりあえず動かしてみる為に必要最小限の情報を更新してみるテスト

まずは環境構築ってことでこれまで使っていたEclipseのprojectにjootemplates-0.8のjarとlibの中にあるjarを全部追加

そしていきなりサンプルを作る(笑)

public static void main(String[] args) {

Template template = null;

try {

template = new Template(new FileInputStream("J:/SimpleFields.stw"));

} catch (FileNotFoundException e) {

// TODO 自動生成された catch ブロック

e.printStackTrace();

return;

} catch (IOException e) {

// TODO 自動生成された catch ブロック

e.printStackTrace();

return;

} catch (TemplateException e) {

// TODO 自動生成された catch ブロック

e.printStackTrace();

return;

}

SimpleDataModel model = new SimpleDataModel();

model.put("name", "makotan");

model.put("nameLength", "99");

// ...

try {

template.createDocument(model, new FileOutputStream("J:/SimpleFields.sxw"));

} catch (FileNotFoundException e1) {

// TODO 自動生成された catch ブロック

e1.printStackTrace();

} catch (IOException e1) {

// TODO 自動生成された catch ブロック

e1.printStackTrace();

} catch (TemplateException e1) {

// TODO 自動生成された catch ブロック

e1.printStackTrace();

}

}

コードのほとんどは例外処理の自動生成の部分です。実際はこのやり方はまずいなぁと思いつつ、とりあえずサンプルって事で(^^;

ちゃんと動いてファイルは出来ました!

という事で、次はBeanDataModelを使ってみましょう

2004-05-10

[][]JooConverterその2

昨日PDFへの変換に見事玉砕したので別の種類への変換で試してみる事に・・・

とりあえず、変更した部分はこんな感じ

sxw = new File("J:/TestWriter.sxw").toURI();

pdf = new File("J:/test2.doc").toURI();

converter = DocumentConverterFactory.getConverter();

converter.convert(sxw, pdf, DocumentFormat.MS_WORD_97);

すると・・・できた!(ほかにHTMLも試してみたらOK!)

って~ことは、OpenOfficeのバグ!?でもオフィシャルページの変換出来てるしなぁ~どういう事だろ~(~ヘ~;)ウーン

まっ1.1.1出てから試すって事で、次行きますか(笑)

r-matudar-matuda2004/05/10 18:02Jooを知らずに自作しました。http://ja.openoffice.org/documents/tips/java_sample.html