java - 如何在我的表单 liferay 7 中插入 ScreenName?
问题描述
我想将 ScreenName 变量插入直接从 liferay 面板创建的表单中,就好像它是不可编辑的字段一样。通过这种方式,我将在摘要中找到提出请求并可以轻松批准的人。我已经在工作流程中添加了变量,但它也需要在表单中。
解决方案
如果我理解正确,您想验证提交表单的用户的身份。有几种更好的方法可以做到这一点:
通过 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}">
请注意,这很容易被操纵。
推荐阅读
- python - Flask-RESTPlus:如何在嵌套 API 模型中获取查询 sqlite 数据库的结果?
- git - 意外删除bin文件夹后恢复Gitlab
- php - php - 通过关键条件创建新数组并用另一个数组值填充
- android - 我有签名 Apk 和捆绑包,但签名 apk 的大小变小了,然后签名包
- c++ - 我写的STM32 LCD库不行
- angular - 在角度打字稿中动态获取导出的常量
- powershell - 如何正确导入类使用的模块?
- node.js - 返回带有数组数据的 json
- arrays - 我不知道我的解决方案有什么问题,我无法编写 a[2]。它在第一个 while 循环结束时退出
- gitlab - 无法在 gitlab 公共运行器上通过 LFTP 连接到远程 FTP 服务器