4

ユーザーが jsp を開くと、プロジェクト全体に動的に含める必要がある Jsp があります。つまり、ユーザーが jsp を開くと、私の jsp が自動的に含まれるはずです。

これをTomcatのweb.xmlに書きました

<jsp-property-group>
        <url-pattern>/webapps/ROOT/html/*.jsp</url-pattern>
        <url-pattern>*.jspf</url-pattern>
        <el-ignored>false</el-ignored>
        <scripting-invalid>false</scripting-invalid>
        <is-xml>false</is-xml>
        <include-prelude>/WEB-INF/jsp/tracker.jsp</include-prelude>
        <!-- <include-coda>/template/coda.jspf</include-coda> -->
</jsp-property-group>

WEB-INF/jsp/ の下の tomcat に jsp を保持していましたが、ユーザーのログを追跡するコードが含まれているため、すべてのプロジェクトに含めたいと考えています。

または、これを実現する他の方法。

ありがとう。

4

2 に答える 2

4

ポータル全体、つまりドックバーに JSP を含める方法がもう 1 つあります。

フックを作成し、orまたは simple/html/portlet/dockbar/view.jspを使用して jsp を含めることができます(これは静的です)。<jsp:include /><liferay-util:include /><%@ include file="" />

<jsp:include page="/jsp/yourJSPPageToBeIncluded.jsp" />

また

<liferay-util:include page="/jsp/yourJSPPageToBeIncluded.jsp" />

また

<%@ include file="/jsp/yourJSPPageToBeIncluded.jsp" />

注: パスは、JSP を配置する場所によって異なる場合があります。

ドックバーを選択する理由は、liferay のすべてのポータル ページに存在するためです。ドックバーがポップアップに存在しないため、構成ポップアップ、ルック アンド フィール ポップアップ、またはその他のカスタム ダイアログ ポップアップのようなポップアップを開く場合、これは機能しません。ポップアップで使用するにportal_pop_up.vmは、カスタムテーマでオーバーライドし、@VikasV の提案に従ってコードを記述する必要があります。

$theme.include($themeServletContext, "/jsp/yourJSPPageToBeIncluded.jsp")
于 2013-02-07T08:08:33.643 に答える
1

これには 2 つの方法があります。

簡単な方法は、JSP をテーマに含めることです。テーマがプロジェクトに適用され、テーマがレンダリングされると、プロジェクト内のすべてのページがこの含まれている JSP をレンダリングします。

以下のコードサンプル。これは、vm ファイル (navigation.vm) に配置する必要があります。

$theme.include($themeServletContext, "/jsp/yourJSPPageToBeIncluded.jsp")

ここで、JSP フォルダーは Theme war 内に直接配置されます。

もう 1 つの方法 (面倒な方法) は、この JSP を含めたいすべての JSP ページにこの JSP を含めることです。

<jsp:include>これには要素を使用します。

いくつかの参照、

Ref1 Ref2

于 2013-02-06T12:05:59.953 に答える