我正在使用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中的区域设置并将其传递给区域设置。这将解决问题。
答案 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();
}
}