誕生日というのは
誕生日に母親からメールが来た。それも、俺が生まれた時間に。
そろそろ還暦のくせに、30代も半ばを過ぎたおっさんに顔文字たっぷりのメールを寄越す、そんな親だ。
父親としての初めての誕生日はどうだとか、何か色々書いてあった。
そんなのを読んでたら、ちょっと目から汗が出ちゃってね。
誕生日って、一般的には、その日に生まれた人を祝う日だが、それだけで良いのだろうか。
むしろ、自分を産んでくれた人に感謝しなければならない日なんじゃなかろうか。
子供ができてちょっと分かったが、出産も、子育ても、大変だ。
この先、色んな脅威から子供を守らないといけないし、逞しく育てないといけない。
そして、大学までは入れてやりたいから、尋常じゃない金もかかるだろう。
順風満帆とは行かないかもしれない。
それでも、親は子供を、俺を、嫁を、育ててくれた。
何とも有難い話じゃないか。
万人が生まれたことを感謝するわけではないかもしれないが、
少しでも自分が生きていることに意味を見出しているなら、自分の生を感謝する日としようじゃないか。
古い日記発見
このブログを書く前に、ホームページというものをやっていた。
その時のファイルを読みたいと思っていたのだが、消してしまっていたので、もう永遠に見れないと思っていたのだが、
偶然バックアップを発見して読むことができた。
誕生日に発見するなんて、何かの縁だろうと、その時の日記を読んでみた。
日記の内容も、俺自身の生活も、目も当てられたものじゃないが、文章はなかなか面白かった。
「悪い意味で決断が早く、財布もゆるく、自分を納得させるのが大得意」と自分を称してたり、
病気で寝込んでいる6日間の経過のサブタイトルがイースの書になってたり、アホのセンスはさすがの俺流だ。
ここに載せてみたい衝動にも駆られたが、止めておこう。
iPhoneの神アプリロボゲー
基礎おさらい〜出力編
基本的なところをおさらい。
というか、俺が忘れないよう、メモりたいだけだけど。
まずは、変数の出力。
WebContextに設定した変数を出力する。
webContext.setVariable("message", "<b>message</b>");
変数の出力は、th:textを使う。親切にHTMLエスケープしてくれるので、されたくない場合は、th:utextを使う。
変数は${}で囲む。
<p th:text="${message}">message</p><!-- エスケープされる --> <p th:utext="${message}">message</p><!-- エスケープされない -->
次は、プロパティファイルからの出力。
「テンプレート名_ロケール名.properties」という名前のプロパティをテンプレートと同じ場所に置いてやる。
(テンプレートがhello.htmlでロケールが日本なら、hello_ja.properties)
message.hello=こんにちわ!
プロパティの出力は、同様にth:text/th:utextを使う。
キー名を#{}で囲む。
<p th:utext="#{message.hello}">hello</p>
次回は、ifとかswitchとかの条件文の使い方をまとめよう。
可変な個数のテンプレートのインポート
正式なやり方かどうか知らないが、可変個数のインクルードができた。
昨日のソースをちょっと書き換えてやる。
// WebContextを作成し、テンプレートの処理を実行 WebContext ctx = new WebContext(request, request.getServletContext(), request.getLocale()); List<Page> pages = new ArrayList<Page>(); pages.add(new Page("content")); pages.add(new Page("content")); pages.add(new Page("content")); pages.add(new Page("content")); ctx.setVariable("pages", pages); String result = engine.process("layout", ctx);
テンプレート名を持つPageというビーンクラスを作ってリストに入れ、そのリストをWebコンテキストに入れてやる。
テンプレートはこんな感じ。
<div th:each="page: ${pages}"> <div th:include="${page.template} :: content"></div> </div>
th:eachでリストを回して、Pageクラスのテンプレート名をインクルード対象に指定する。
でけた!ヽ(´ ▽ ` )ノ
さりげなく文字化けも直しておいた(response.setCharacterEncoding("UTF-8")しただけだけど)
何か簡単に目的が達成できてしまったw
折角できたから、今の開発に適用できないかしら。