ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Cocoonで動的にデータを作成し、PDFで出力する(その3:JSPを使う)

2008-10-20 14:10:48 | Weblog

Cocoonで動的にデータを作成し、PDFで出力するその3は、JSPを使うケースです。


http://127.0.0.1:8080/cocoon/mytest/test.pdf

と入力すると、

test.jsp

が起動され、そのJSPがXMLファイルを出力し、その内容をPDFにするというものです。

JSPとsitemap.xmapの書き方が変わるだけで、他は同じです。




■まず、JSPを作成します。

 まず、XMLファイルを書き出すJSPを作成します。
 こんなかんじ。
<%@ page contentType="text/html; charset=utf8" %><?xml version="1.0" encoding="UTF-8"?>
<%
	String title = request.getParameter("title");
	String mincho = "明朝体:" + title;
	String gothic = "ゴシック体:" + title;
%>
<page>
<title><%=title%></title>
<mincho><%=mincho%></mincho>
<gothic><%=gothic%></gothic>
</page>

(上記< >は、本当は半角)

これを、test.jspとして保存します。




■sitemap.xmapを変更

こんなかんじ
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:pipelines>
    <map:pipeline>
      <map:match pattern="test.pdf">
        <map:generate type="jsp" src="test.jsp" />
        <map:transform src="page2fo.xsl"/>
        <map:serialize type="fo2pdf"/>
      </map:match>
    </map:pipeline>
  </map:pipelines>
</map:sitemap>

(上記< >は、本当は半角)

 今回変わったところは、「map:generate 」の部分。
 typeをjspにして、JSPのファイル名を書きます。




■配置・実行

 あとは、今までどおり、ここでやった「アクセス」のように、上記test.jspとsitemap.xmapのほかに、page2fo.xslをコピーして、(Tomcatのフォルダ/webapps/cocoonの下の)mytestフォルダに入れます。

 そしたら、Tomcatを起動、http://127.0.0.1:8080/cocoon/mytest/test.pdfをアクセスしますが、上記jspでは、titleが引数になっているので、

http://127.0.0.1:8080/cocoon/mytest/test.pdf?title=123

とか入れると、PDFができてきます。




JSPであれば、何でもかけるので、この方法を使えば、まあ、自由に帳票出力が出来ると思います。


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Cocoonで動的にデータを作成... | トップ | MS、WebカメラをPCの操作イン... »
最新の画像もっと見る

Weblog」カテゴリの最新記事