AEM:从$ PATH获取当前区域设置

时间:2016-03-10 12:30:28

标签: content-management-system cq5 aem

我正在使用selector + request参数读取下拉列表的值。

/bin/services/myservlet.GET_DROPDOWN_VALUES.json?locale=$PATH

$PATH给了我currentPath.path。我可以使用路径获取当前语言环境。

例如:

/bin/services/myservlet.GET_DROPDOWN_VALUES.json?locale=en-us

如何只返回$ PATH中的区域设置并将其传递给区域设置。这将解决问题。

2 个答案:

答案 0 :(得分:1)

使用$ PATH检索区域设置

/bin/services/myservlet.GET_DROPDOWN_VALUES.json?locale=$PATH


String compNodePath = (String) request.getParameter("locale");  
String pagePath = StringUtils.substringBefore(compNodePath, "jcr:content");  
PageManager pageMgr = request.getResourceResolver().adaptTo(PageManager.class);  
Page page = pageMgr.getContainingPage(pagePath);  
Locale pageLocale = page.getLanguage(false);

为此,页面属性中的语言字段应设置为合适的值。

答案 1 :(得分:1)

Resource resource = resourceResolver.getResource(path);
if (resource != null) {
    Page targetPage = resource.adaptTo(Page.class);
    if (targetPage != null) {
        Locale pageLocale = targetPage.getLanguage(true);
        String countryLocale = pageLocale.getCountry();
    }
}