我如何在Liferay 7表单中插入ScreenName?

时间:2018-10-25 07:38:53

标签: java forms variables liferay

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

1 个答案:

答案 0 :(得分:2)

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

通过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);
}

或者您可以看看this answer中显示的可能性。

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

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

请注意,这很容易操作。