2

WS呼び出しが完了するまでに途方もない時間がかかるため、AJAXを介してテーブルのデータをロードするようにポートレットを変更しようとしています。表は基本的に概要であり、表の行ごとに1つのエントリがあり、各行にエントリの詳細情報へのリンクがあります。

現在、テーブルの各行のURLを作成している方法は次のとおりです。

<portlet:renderURL portletMode="VIEW" windowState="maximized" var="showURL">
    <portlet:param name="id" value="${entry.ID}"/>
</portlet:renderURL>

AJAX呼び出しを受信し、jQueryコールバックを使用して動的にテーブルに追加されるJSONを返すAJAXサーブレットを作成しました。サーブレットは正常に動作し、行は実際の問題なしにテーブルに追加されます。私が抱えている問題は、現在、テーブルにあるはずのリンクにあります。

私の質問は、サーブレットで上記のJSPコードを模倣して、正しいポートレットURLを生成するにはどうすればよいですか?!?!私はポートレットに少し慣れていません。それらのURLは、私にとってはシリアル化された混乱のようです。

4

1 に答える 1

1

これがどのように行われるかの例については、この JSP ページを見てください。とにかく、良い方法の 1 つです。editPortletUrlページの上部付近にあるの定義を見てから、後でそれがどのように使用されるかを見てください。

URL にはPORTLETIDトークンが埋め込まれており、後で JS によって実際の値に置き換えられます。

このポートレットはFluid Infusionを使用します。これは、jQuery に基づく強力でアクセスしやすい高次のウィジェットとして強くお勧めします。

ブライアン 彼は言った

アイデアをありがとう。私はあなたが持っていたものを試してみましたが、JS がプレースホルダーの実際の ID をサブスクライブする方法がわかりません。renderURL を使用して、JS でこれを取得します。

var baseShowUrl = "/wps/myportal/portalname/!ut/p/c5/hY7NCoJAFEafpSe4X_Pf0hJ0Sied6M9NCEVIWS2ioqdvwo2b6H7LczhcqijsUj-aY31vrpf6TFuq9C52yJ32DAZCworYz_V0DIDRqq1fTdu8D_tOFUra0oqgZoKD-VLabBpzQPXVDVWqV9UjE6qFzGcmD1XQ-vtHz0jSQgVjmXnr5xxm2HH8uAgdnyRRKnQGJJpJMCcXLI9WSLj6wwW59Noe6NYafjr59BkNBh8sH-CA/dl3/d3/L0lDU0NsQ1FvS1VRIS9JSFNBQ0l3a1FBd3FibTZtLzRDMWI5WUF4RW1TUVVnZyEvN19ETjBNTjdSMjA4MDQ1MEk0RFJPN0pCMDAwMi92aWV3L0NPTlRSQUNUSUQ!/";

ドリュー・ウィルズからの更新

またはタグ付けの方法を教えてください。

于 2010-02-08T16:18:42.037 に答える