【问题标题】:Liferay language from userprofile来自用户配置文件的 Liferay 语言
【发布时间】:2014-02-24 11:45:25
【问题描述】:

我用 Java、Jquery 和 Javascript 为 Liferay 编写了一个 portlet。

我正在尝试获取正在使用我的 portlet 的用户配置文件的语言。

我已经获得了 uuid 并且可以使用它。

如果我尝试以与接收 null 相同的方式获取语言。

我的 Java 类:

public class UserId extends MVCPortlet {
    public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException {
        ThemeDisplay td  =(ThemeDisplay)renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
        User user = td.getUser();
        /*String userLanguage = td.getLocale().toString();*/
        /*String userLanguage = user.getLanguageId();*/
        String userLanguage = LanguageUtil.getLanguageId(renderRequest); 
        String userId = user.getUuid();
        renderRequest.setAttribute("myUser", userId);   
        renderRequest.setAttribute("myUserLang", userLanguage); 
        super.doView(renderRequest, renderResponse);
    }
}

如您所见,我尝试使用三种不同的方法获取 userLanguage。

我的 View.jsp:

<portlet:defineObjects />
<%
    String userIdIntern = renderRequest.getRemoteUser();
    String userIdExtern = (String) request.getAttribute("myUser");
    String userLang = (String) request.getAttribute("myUserLang");
%>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

<script>
    $(document).ready(function(){
        userId = "<%=userIdExtern%>";
        debug(userId);
        var testLang = "<%=userLang%>";
        debug("testLang obj: "+testLang); // returns null
    });
/* more code below */

如果我使用 td.getLocale() 我至少会得到一个对象而不是 null。使用 .toString() 再次返回 null。

如何获取用户配置文件当前使用的语言?

【问题讨论】:

  • 您尝试打印 user.getLocale() 吗?
  • 哦,哇,在我将它从服务器上完全删除并读取它之后,它现在才起作用。我现在按预期收到“en_GB”。我将进一步测试并关闭我的问题。谢谢你的帮助! PS:我将 getlocale 打印到 textarea (这发生在我的 debug() 方法中)

标签: liferay portlet


【解决方案1】:

代码是正确的。我只需要从服务器中删除 portlet 并读取它。这可能是因为 Java 否则将无法正确执行。 (因此我的语言变量返回 null)

现在一切正常。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2011-07-08
    • 2016-01-22
    • 2012-08-12
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多