本日は、 基礎編:追加した入力項目の表示をしてみよう の
・詳細画面では http://capture.heartrails.com/help/make_thumbnail を使ってサムネイルを表示しよう。
・詳細画面でURLからドメイン部分だけを抜き出して表示してみよう。(URL欄に https://www.aipo.com/feature/ を入力したら https://www.aipo.com だけを表示する)
の作業を行いました。
詳細画面でリンク先のサムネイルを表示する
http://capture.heartrails.com/help/make_thumbnailを用いてサムネイルを表示します。 以下のように記述します。
ajax-test-detail.vm
42行目付近
+#ALtditemheader() +<a href = "$!result.Detail.Url"><img title="$!result.Detail.Url" +src="http://capture.heartrails.com/free?$!result.Detail.Url" alt="$!result.Detail.Url" +width="200" height="200" /><a> +#ALtditemfooter()
続いて、$result.Detail.UrlにデータベースからURLを代入するためのコードを記述します。
TestSelectData.java
getResultDataDetail(EipTTest record)クラス
+rd.setUrl(record.getUrl());
これを忘れていたため表示が出来ず苦戦しました。
URLからドメイン部分だけ抜き出す
Javaのソースコードは以下のように追加します。
TestResultdata.java
末尾にメソッドを追加
+public String getUrlDomain() throws Exception { URI u = new URI(url.getValue()); return u.getScheme() + "://" + u.getHost(); }
このメソッドが返す値を使用することで、URLをドメインだけの文字列として使用できます。 従ってテンプレートファイルを以下のように書き換えます。
ajax-test-detail
40行目付近
+#ALtditem($!result.Detail.UrlDomain)
これでドメインのみを表示することができました。