TeedaのHTML上でリンク(aタグのhref属性)を書き換えるにはどうする?

答えは、Dynamic Propertyを利用する。

view

HTML:
  1. <a id="url" href="" target="_blank">外部リンク</a>

Pageクラス

JAVA:
  1. private String url;
  2. //Dynamic Propertyを使って、urlを書き換え
  3. public String getUrlHref(){
  4.     return this.url;
  5. }

Dynamic Propertyは、先頭にget + (id) + (属性名)という、getterを用意すれば、その属性の値を変換してくれる。

それでは、画面遷移などでgoをくっつける場合はどうなるか。
view

HTML:
  1. <a id="goUrl" href="">リンク</a>

Pageクラス

JAVA:
  1. private String url;
  2. //Dynamic Propertyを使って、urlを書き換え+goを利用
  3. public String getGoUrlHref(){
  4.     return this.url;
  5. }

get + Go + (id) + (属性名)なgetterを用意すればよい。

さて、javascript内などに、HTMLを表示する段階で動的に値を渡してあげるには?
view

HTML:
  1. <span id="hoge"></span>
  2. <script type="text/javascript">
  3. alert(document.getElementById("mapx").innerHTML);
  4. </script>

Pageクラス

JAVA:
  1. private String hoge;
  2.  
  3. public void setHoge(String hoge){
  4.     this.hoge = hoge;
  5. }
  6.  
  7. public Class prerender() {
  8.     setHoge("javascriptに値を渡す。");
  9.     return null;
  10. }

という感じで、span経由で渡すことで可能。でもspanタグを隠さないとHTMLとして見えてしまうので微妙。

もっといい方法はないものか。


明日から、台湾出張です。台湾のインターネット事情がわかればレポートします。
しかし、昨日テレビで見た、日航機墜落と大韓航空爆破のドキュメンタリーを見てしまい、飛行機が若干怖くなった。。。

blogranking←ぽちっとな