我想在直接从liferay面板创建的表单中插入ScreenName变量,就好像它是不可编辑的字段一样。这样,我将在摘要中包含谁提出请求并可以轻松批准。我已经在工作流中添加了变量,但是该变量也需要存在于表单中。
答案 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}">
请注意,这很容易操作。