今日は詳細画面にURLを表示させるところまでいきました。 サムネイル画像を詳細画面に表示させるために、vmファイルを変更させましたが、それぞれのURL先のサイトのサムネイル画像がうまく出ません。そこは次回やりたいと思います。
バリデータのために、TestFormData.javaのsetValidator()に以下を追加しました。
url.setCharacterType(ALStringField.TYPE_ASCII);
その次に実際にデータベースにTest追加で追加した項目が保存されているか確認するためにpostgreSQLをpgAdminを使って確認したわけですが、pgAdminの使い方がわからなかったので、以下のサイトを参考にしました。 pgAdminの使い方(インストールとテーブルの作成)
URLを詳細画面に表示させるところでは、ajax-test-detail.vmをおそらく正しく変更しているのに、URLが表示されないことにかなり苦しみました。 そもそもデータベースから値を持ってくるということをしていなかったからだということを教えていただきました。 TestSelectData.javaのgetResultDataDetail(EipTTest record)にtryとcatchがあり、そのメソッドでデータベースから持ってくるので、以下のように追加しました(rd.setNote(record.getNote());の下に)。
+ rd.setUrl(record.getUrl());
GlobalMacros.vmにhtmlタグをどういうふうに使うか書いてあると教えて頂いたので、そこから必要なhtmlタグを見つけて、リンク付きになるようにしました。 ちなみに、僕は以下のように書きました。
+#ALtdcaption($l10n.TODO_SETFIELDNAME_URL) +#ALtdcellNowrapheader() + <a href="$!result.Detail.Url">$!result.Detail.Url</a> +#ALtdcellNowrapfooter()
今日の一番の学びは、GlobalMacrosというVelocityにhtmlタグのをさまざまな形で規定しているところでした。次からはできるだけ、GlobalMacrosを参照して、画面のデザインのところでつまずくことのないようにしたいと思います。