首页 > 解决方案 > 如何在我的表单 liferay 7 中插入 ScreenName?

问题描述

我想将 ScreenName 变量插入直接从 liferay 面板创建的表单中,就好像它是不可编辑的字段一样。通过这种方式,我将在摘要中找到提出请求并可以轻松批准的人。我已经在工作流程中添加了变量,但它也需要在表单中。

标签: javaformsvariablesliferay

解决方案


如果我理解正确,您想验证提交表单的用户的身份。有几种更好的方法可以做到这一点:

通过 PortalUtil:

User user = PortalUtil.getUser(request);

除了 PortalUtil,您还可以使用 Portal Service 的 OSGi 参考(我推荐):

@Reference
private Portal portal;

// you could replace the PortletRequest by a HttpServletRequest if needed
private void someMethod(PortletRequest request) {
    User user = portal.getUser(request);
}

或者您可以查看此答案中显示的可能性。

如果您仍想使用该变量,则取决于您用于呈现表单的内容。如果您使用 JSP,它将是这样的:

<input type="hidden" name="nameoftheinputfield" value="${user.screenName}">

请注意,这很容易被操纵。


推荐阅读