提供从liferay主题导航到控制面板的链接

提供从liferay主题导航到控制面板的链接,liferay,liferay-theme,liferay-velocity,Liferay,Liferay Theme,Liferay Velocity,我试图提供一个链接,从我的主题导航到控制面板。 我使用了下面的代码 <li><a href="$my_account_url">Manage Your Profile</a></li> 这在我的本地测试环境中运行良好。 但当我将其转移到生产时,出现了以下错误 10:10:13,998 ERROR [IncludeTag:231] Current URL /group/control_panel/manage?p_p_auth=9AUrwzDp

我试图提供一个链接,从我的主题导航到控制面板。 我使用了下面的代码

<li><a href="$my_account_url">Manage Your Profile</a></li>
  • 这在我的本地测试环境中运行良好。 但当我将其转移到生产时,出现了以下错误

    10:10:13,998 ERROR [IncludeTag:231] Current URL /group/control_panel/manage?p_p_auth=9AUrwzDp&p_p_id=2&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&p_p_col_count=1&refererPlid=25014&_2_struts_action=%2Fmy_account%2Fedit_user&_2_backURL=%2Fgroup%2F19765%2Fdashboard generates exception: An exception occurred processing JSP page /html/portlet/enterprise_admin/init.jsp at line 221
    
    218: boolean isHavingUpdatePermission = false;
    219: boolean isHavingAssignUserRolesPermission = false;
    220:
    221: boolean isOrganization = GroupLocalServiceUtil.getGroup(themeDisplay.getDoAsGroupId()).isOrganization();
    222: long orgId = GroupLocalServiceUtil.getGroup(themeDisplay.getDoAsGroupId()).getOrganizationId();
    223:
    224: List<Role> objRolesList = RoleLocalServiceUtil.getUserGroupRoles(themeDisplay.getUserId(),themeDisplay.getDoAsGroupId());
    
    
    Stacktrace:
    10:10:13,999 ERROR [IncludeTag:154] com.liferay.portal.NoSuchGroupException: No Group exists with the primary key 0
    at com.liferay.portal.service.persistence.GroupPersistenceImpl.findByPrimaryKey(GroupPersistenceImpl.java:723)
    at com.liferay.portal.service.impl.GroupLocalServiceImpl.getGroup(GroupLocalServiceImpl.java:517)
    at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:44)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
    at com.liferay.portal.service.GroupLocalServiceUtil.getGroup(GroupLocalServiceUtil.java:166)
    at org.apache.jsp.html.portlet.enterprise_005fadmin.edit_005fuser_jsp._jspService(edit_005fuser_jsp.java:1162)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:175)
    
    10:10:13998错误[IncludeTag:231]当前URL/group/control\u panel/manage?p\u p\u auth=9urwzdp&p\u p\u id=2&p\u p\u lifecycle=0&p\u p\u state=maximized&p\u p\u mode=view&p\u p\u col\u count=1&refererPlid=25014&u2\u struts\u action=%2fy\u帐户%2Fedit\u用户和\u backURL=%2Fgroup%2F19765%2Fdashboard生成异常:处理JSP页面/html/portlet/enterprise\u admin/init时发生异常
    218:布尔值isHavingUpdatePermission=false;
    219:布尔值isHavingAssignUserRolesPermission=false;
    220:
    221:boolean isOrganization=GroupLocalServiceUtil.getGroup(主题显示.getDoAsGroupId()).isOrganization();
    222:long orgId=GroupLocalServiceUtil.getGroup(主题显示.getDoAsGroupId()).getOrganizationId();
    223:
    224:List objRolesList=RoleLocalServiceUtil.getUserGroupRoles(主题显示.getUserId(),主题显示.getDoAsGroupId());
    堆栈跟踪:
    10:10:13999错误[IncludeTag:154]com.liferay.portal.NoSuchGroupException:不存在主键为0的组
    位于com.liferay.portal.service.persistence.GroupPersistenceImpl.findByPrimaryKey(GroupPersistenceImpl.java:723)
    位于com.liferay.portal.service.impl.GroupLocalServiceImpl.getGroup(GroupLocalServiceImpl.java:517)
    位于com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:44)
    在com.liferay.portal.spring.aop.chaineablemethodadvice.invoke(chaineablemethodadvice.java:58)
    在com.liferay.portal.spring.aop.chaineablemethodadvice.invoke(chaineablemethodadvice.java:58)
    在com.liferay.portal.spring.aop.chaineablemethodadvice.invoke(chaineablemethodadvice.java:58)
    位于com.liferay.portal.service.GroupLocalServiceUtil.getGroup(GroupLocalServiceUtil.java:166)
    位于org.apache.jsp.html.portlet.enterprise\u 005fadmin.edit\u 005fuser\u jsp.\u jsp服务(edit\u 005fuser\u jsp.java:1162)
    位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    位于org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    位于org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    位于org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    位于com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:175)
    
    请帮我解决这个问题。
    提前感谢

    我不知道如何构建链接,但以下是我用于相同任务的代码:

    #if($themeDisplay.getPermissionChecker().isOmniAdmin())
        <a href="$themeDisplay.getURLControlPanel()">Control Panel</a>
    #end
    
    #如果($themeDisplay.getPermissionChecker().isOmniAdmin())
    #结束
    
    我已经调整了格式,以便可以看到您的链接-您说您正在链接到控制面板,但显示$my\u account\u url。我没有尝试过,但它是否恰好不适用于未登录的用户?您好,谢谢您的回答。但问题是,我想为每个用户提供此功能,而不仅仅是管理员。my_account_url是liferay velocity中提供的预定义变量。这在我当地的环境中运行良好。