2016-11-04 125 views
1

我正在做一个语言选择器,允许在英语和法语之间进行更改,该应用程序在Jahia上。用JSP获取当前页面节点

我想从我的组件languagePickerjsp页面得到[j:fullpath],但我找不到解决方法。我需要的当前页面的j:fullpath,当前页面实际上是.... /家/ HTML,但$(currentNode.path)回答我:

/modules/template/02.02.01.10-SNAPSHOT/templates/base/navbar2/navbarlinks-lang

不过,我想是这样的:“/网站/服务/家“,这是我的实际j:我的主页的完整路径。在这个节点下面,有一个“VanityUrlMapping”,并且有两个节点,每个语言一个节点。

在每个页面下面都有一个vanityUrlmapping,所以如何在JSP中获得j:这些页面的完整路径?

感谢

回答

1

如果直到找到类型为“JNT:页”节点您的组件被存储在一个“正常范围”(不是绝对的),你可以上去JCR。 http://downloads.jahia.com/downloads/jahia/digitalfactory7.0.0/digital-factory-taglib-7.0.0.0-tlddoc/jcr/getParentOfType.fn.html

如果你想实现一个自定义语言切换器Jahia基于默认Jahia语言切换组件上你应该建立一个自定义视图:

https://github.com/Jahia/default/blob/master/src/main/resources/jnt_languageSwitcher/html/languageSwitcher.jsp

这可以很容易地使用下面的taglib完成
0

我认为${renderContext.mainResouce.node.path}是你正在寻找。

我不认为j:fullpath会考虑虚荣URL。不过,我对这些并没有太多的了解。