【问题标题】:Add a global Jsp to include in Liferay tomcat-6添加一个全局 Jsp 以包含在 Liferay tomcat-6 中
【发布时间】:2013-02-06 11:36:07
【问题描述】:

当用户打开任何 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>

我将我的 jsp 保存在 WEB-INF/jsp/ 下的 tomcat 中,我想将它包含到每个项目中,因为它包含一个跟踪用户日志的代码。

或任何其他方式来实现这一点。

谢谢。

【问题讨论】:

    标签: liferay tomcat6


    【解决方案1】:

    还有另一种方法可以为整个门户和停靠栏包含 JSP。

    您可以使用&lt;jsp:include /&gt;&lt;liferay-util:include /&gt; 或简单的&lt;%@ include file="" /&gt; 创建一个挂钩并将您的jsp 包含在/html/portlet/dockbar/view.jsp 中(这将是静态的)。

    <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")
    

    【讨论】:

    • 感谢您的帖子我使用 $theme.include($themeServletContext, "/jsp/yourJSPPageToBeIncluded.jsp") 完成了它,我唯一包含的是portal-impl.jar。但是因为这增加了对我的代码的依赖。我想要一个独立的解决方案。我可以使用tomcat的web.xml吗?我确实第一次使用它。但随后没有反映任何变化。关于这个问题的任何专业知识。请分享。关于Tomcat
    • portal-impl.jar 不建议添加到任何插件中,并且从 Liferay 6.1 开始禁止添加。将使用web.xml 寻找替代解决方案并更新您
    【解决方案2】:

    有两种方法。

    简单的方法是在主题中包含您的 JSP。当你的 Theme 被应用到你的项目中,当 Theme 被渲染时,你项目中的任何页面都会渲染这个包含的 JSP。

    下面的代码示例。这必须放在 vm 文件(navigation.vm)中。

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

    这里,JSP文件夹直接放在Theme war里面。

    另一种方法(乏味的一种)是将此 JSP 包含在您希望包含的每个 JSP 页面中。

    为此使用&lt;jsp:include&gt; 元素。

    一些参考,

    Ref1 Ref2

    【讨论】:

    • 我们能不能让它进入tomcat web.xml。那可能吗。我厌倦了它第一次工作。但后来没有了。 Cz 如果我们使用多个主题,我想可能会有问题。
    • 不确定这是否可以通过Tomcat的web.xml文件完成..我真的怀疑..
    • Vikas 我是用 tomcat 做的,它第一次工作得很好,但不幸的是它只第一次成功了,没有更多:(。我想有一个解决方案,只是我们需要寻找它。 :) 如果我得到任何东西,任何方式都会让你知道。反之亦然
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 2010-10-19
    • 2019-08-20
    相关资源
    最近更新 更多