Asset Publisherでカスタムアセットを表示するためのJSPの作成

Asset Publisherでカスタムアセットを表示するためのJSPの作成

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

UIへのアセット機能の追加

手順2/5

先に進む前に、前のステップのルーズエンドを結ぶ必要があります。 GuestbookAssetRenderer クラスと EntryAssetRenderer クラスに 個のgetJspPath メソッドを、まだ存在しないJSPに実装したことに注意してください。 これらのメソッドは、Asset Publisherがアセットの完全なコンテンツを表示するために使用するJSPへのパスを返します。 GuestbookAssetRenderergetJspPath メソッドは "/asset/guestbook/full_content.jsp"返し、 EntryAssetRenderer getJspPath メソッドは "/asset/entry/full_content.jsp"返します。 これらのJSPを作成します。

次の手順を実行します:

  1. guestbook-web moduleプロジェクトで、 resources / META-INF / resources フォルダーの下に asset という新しいフォルダーを作成します。 この新しいフォルダーに2つのフォルダーを追加します: エントリー および ゲストブック

  2. / asset / guestbook フォルダーに full_content.jsp という新しいファイルを作成します。 このJSPは、ゲストブックアセットの完全なコンテンツを表示します。 このファイルに次のコードを追加します。

    <%@include file="../../init.jsp"%>
    
    <%
    Guestbook guestbook = (Guestbook)request.getAttribute("gb_guestbook");
    
    guestbook = guestbook.toEscapedModel();
    %>
    <dl>
            <dt>名前</dt>
            <dd><%= guestbook.getName() %></dd>
    </dl>
    

    This JSP grabs the guestbook object from the request and displays the guestbook’s name. In GuestbookAssetRenderer, the getJspPath method added the gb_guestbook request attribute:

    request.setAttribute("gb_guestbook", _guestbook);
    

    The guestbook’s toEscapedModel method belongs to the GuestbookModelImpl class, which was generated by Service Builder. This method returns a safe guestbook object (a guestbook in which each field is HTML-escaped). Calling guestbook = guestbook.toEscapedModel() before displaying the guestbook name ensures that your JSP won’t display malicious code that’s masquerading as a guestbook name.

  3. 次に、 / asset / entry フォルダーに、ゲストブックエントリアセットの全コンテンツを表示するための full_content.jsp を作成します。 このファイルに次のコードを追加します。

    <%@include file="../../init.jsp"%>
    
    <%
    Entry entry = (Entry)request.getAttribute("gb_entry");
    
    entry = entry.toEscapedModel();
    %>
    <dl>
            <dt>ゲストブック</dt>
            <dd><%= GuestbookLocalServiceUtil.getGuestbook(entry.getGuestbookId()).getName() %></dd>
            <dt>名前</dt>
            <dd><%= entry.getName() %></dd>
            <dt>メッセージ</dt>
            <dd><%= entry.getMessage() %></dd>
    </dl>
    

このJSPは、ゲストブックのフィールドと選択したエントリの組み合わせを示します。

変更をデプロイした後、Asset Publisherでゲストブックまたはゲストブックエントリのタイトルをクリックして、新しいJSPをテストします。 Asset Publisherは full_content.jspレンダリングし` :

図1:Asset Publisherでゲストブックまたはゲストブックエントリのタイトルをクリックすると、 <code>full_content.jsp` が表示されます。

デフォルトでは、アセットの全ビューを表示するときに、アセットパブリッシャーはソーシャルメディアの追加リンクを表示するため、アセットを公開できます。 Back アイコンと Context in Context リンクは、Asset Publisherのデフォルトビューに戻ります。

« ユーザーインターフェイスへのアセット機能の追加ゲストブックのタグ、カテゴリ、および関連アセットの有効化 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています