本日はインターン三日目で、テストポートレット詳細画面でのサムネイルの表示、URLドメイン部分までの表示、一覧画面でのURLの表示を行いました。
サムネイルの表示では、まずURLを改行などの処理を行わずにそのまま取り出すために、 /test-portlet/portlets/test/src/main/java/com/aimluck/eip/test/TestResultData.java にgetUrl2という以下に示すメソッドを追加しました。
public String getUrl2(){ return url.getValue(); }
これはgetUrlとは少し違っていて、返す値が改行とかされずにそのままになるらしいです。。 ちなみにgetUrlは
public String getUrl(){ return ALEipUtils.getMessageList(url.getValue()); }
と定義されています。
そしてgetUrl2を用いて、 test-portlet/portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ja/ajax-test-detail.vm において
#ALtditemheader() <a href="$!result.Detail.Url2"><img title="$!result.Detail.Url2" src="http://capture.heartrails.com/free?$!result.Detail.Url2" alt="$!result.Detail.Url2" width="200" height="300" /></a> #ALtditemfooter()
を30〜40行あたりの同様な表示をしているメモ欄の下に記述したところ、サムネイルの表示が実現しました。
次に、URLのドメイン部分の表示について説明を行います。
URLのドメイン部分を取得する方法は色々あるみたいなのですが、今回はURIを使った方法について解説を行います。 URIの詳細な説明は次のリンクを参考にして下さい。 http://koseki.hatenablog.com/entry/20070404/javauri これを利用したメソッドを、 /test-portlet/portlets/test/src/main/java/com/aimluck/eip/test/TestResultData.java 内に作成します。メソッドを作る前に、java.net.URIをインポートすることを忘れないようにしましょう。
今回はgetScheme()やgetHost()を使えば十分です。 実際に記述する内容は、
import java.net.URI;
public String getUrlDmain() throws Exception{ URI u = new URI(url.getValue()); return u.getScheme()+"://"+u.getHost(); }
です。throws Exceptionは必要みたいです。これでvmファイル内において$!result.Detail.UrlDmainなどのように使用する準備が出来ました。 そして /test-portlet/portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ja/ajax-test-detail.vm の中、30〜40行目のメモ欄の表示を行っている部分の下に
#ALtdcaption($l10n.TODO_URL) #ALtditem($!result.Detail.UrlDmain)
を記述することでドメイン部分の表示が実現します。
最後に、一覧画面でのURLの表示について説明を行います。 これは /test-portlet/portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ja/ajax-test-list.vm の100行目付近、タイトルの表示を行っている部分の下に
#ALtdcellheaderAtt('class="auiMTCaption"') <div> <a href="$record.Url"></a> </div> #ALtdcellfooter()
を記述することで実現することが出来ます。
余談ですが、自分はよく似たファイルである /test-portlet/portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ajax-test-list.vm に書き込んでしまい時間をロスしました。他の方も気をつけましょう。