1

私は Tapestry 4.0.1 にまったく慣れていないので、レガシー アプリケーションを更新して、@For ループ内のいくつかのリンクに対して書式設定されたツールチップを表示する必要があります。これを達成するための最も簡単で最良の方法は何ですか? @Script コンポーネントを使用する必要がありますか、それとももっと簡単な方法がありますか?

ちなみに、新しいバージョンの Tapestry にアップグレードすることは論外です。残念ながら、そうですが、私の手に負えません。

よろしくお願いします。

カール

4

2 に答える 2

0

質問を投稿した後、私はなんとかハッキーな(くだらない?)解決策を思いついた。エンジニアとしての私の最も誇りに思う瞬間とは言えませんが、うまくいきます。*

<script type="text/javascript">
    function outputLink(value, tooltip) {
            document.write("<a href='#' onclick='return false;' onmouseover='showtip(event, \"" + tooltip + "\");' onmouseout='hidetip();'>" + value + "</a>");
        }
</script>
<span jwcid='@For'>
    <script type="text/javascript">
        outputLink("Foo", "<span jwcid="@Insert" value="ognl:foo.bar"/>");
    </script>
</span>

*無実を保護するために一部のコードが省略されています。

于 2009-08-05T19:17:41.007 に答える
0

@Any コンポーネントを使用します。あなたの例では、MYTOOLTIP を、メッセージを保持しているオブジェクトに置き換えます。

<a jwcid="@Any" id="adUnitPredicate" href="#" onclick="return false;" onmouseover="ognl:'showtip(event, \'' + MYTOOLTIP + '\');'" onmouseout="hidetip();">AdUnit Predicate</a>
于 2009-10-12T05:41:14.350 に答える