在liferay Hook中无法使用上下文路径

时间:2013-01-22 07:17:57

标签: hook liferay-6

我正在创建一个钩子,我想在自定义jsp中添加我的图像。

我在 docroot / images / 1.jpg

中添加了图片

在jsp中我试图使用

访问它
<img src="<%=request.getContextPath()%>/images/1.jpg"  />

但我无法获得图像。

此外,当我尝试打印&lt;%= request.getContextPath()%&gt;只打印“/”

谢谢!!!

2 个答案:

答案 0 :(得分:1)

建议您将图像放在Web服务器中,以便将来可以轻松替换它们,而不是从战争中获取图像(docroot文件夹)。

您可以在jsp页面中使用以下代码从Web服务器中检索

<div class="yourCSSClass">
        <liferay-ui:icon src="/yourWebServerPath/1.jpg" label="" message=""/>
</div>

另一种味道,

如果您有以下代码,请在您的JSP页面中

<nav class="yourCSSClass"><br/><br/></nav>

然后,在JSP页面中导入的CSS文件中,使用此

.yourCSSClass{
    background: url(yourWebServerPath/1.jpg) no-repeat;
    }

P.S :在上述两个示例中,正确决定yourWebServerPath

的值

答案 1 :(得分:0)

很老的问题,但还是值得回答。

您的 hook 用您自己的东西替换门户网站的JSP,但这并不意味着新JSP的上下文是您的钩子。

实际发生的是JSP在文件系统级别被替换,并被其他Liferay JSP和配置调用,因为它们是原始的。

因此,您有权访问的request是主要和原始的。{/ p>

据我所知,没有干净的方法来获取提供重写JSP的钩子的上下文路径。