java - MVCAction 覆盖中的 Liferay SessionMessages 和 SessionErrors
问题描述
我正在使用 Liferay DXP SP7。我正在尝试获取 Liferay 的 SessionErrors 和 SessionMessages 以通过覆盖的 Liferay MVCAction 类将成功和错误消息添加到包含自定义 portlet 的页面 - com.liferay.dynamic.data.lists.form.web.internal.portlet.action.AddRecordMVCActionCommand
。我使用这里解释的技术来覆盖这个内部类,因为我们需要通过添加一些东西来增强一些 Liferay 表单功能,比如在表单提交后编辑表单的能力。这工作得很好。我遇到的问题是我似乎无法获得 LiferaySessionMessages
和SessionErrors
工作的功能。我要做的就是向用户显示错误或成功消息,让他们知道表单保存是否有效。我的表单由一个自定义 portlet 显示,该 portlet 通过 ajax 调用 Liferay 的 DDLFormPortlet(实际上调用我的 custom AddRecordMVCActionCommand
)来检索表单。在自定义中,我使用orAddRecordMVCActionCommand
添加成功或错误消息。我在 src/main/resources/content 中有我的 Language.properties 文件,其中包含以下内容:SessionMessages.add(actionRequest, "formSaveSuccess");
SessionErrors.add(actionRequest, "formSaveError");
form-save-success=Report saved successfully.
form-save-error=An unexpected error occurred while trying to save the report, please try again.
我的 JSP 页面具有以下必需的导入和标记:
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ include file="/init.jsp" %>
<liferay-ui:success key="formSaveSuccess" message="form-save-success" />
<liferay-ui:error key="formSaveError" message="form-save-error" />
我已按照此处Liferay 文档中的说明添加我的语言键,设置 JSP 并将消息添加到我的 MVCAction 类中的会话中。我已多次阅读并重新阅读这些说明,一切似乎都设置正确。我在日志中没有收到任何错误消息,但我的成功和错误消息从未出现。有人可以提供的任何帮助都会非常有帮助。
解决方案
推荐阅读
- php - Laravel - Sanctum 从生成的令牌中删除数据库 ID
- selenium-webdriver - 如何识别硒中的元素
- jenkins - 具有相关参数的 Jenkins 参数化作业
- swiftui - 如何防止外部 HID 扫描仪扫描文本字段值继续连续
- mongodb - 旧的已删除 MongoDB 文档的 _id 是否可以为同一集合中的未来文档重新出现/重新生成?
- apache-spark - 使用预定义的模式更新 Spark Inferred DataFrame 模式
- telethon - 有没有办法将 REGEX FLAGS 添加到 Telethon 中的模式中?
- r - 如何删除R中的空格
- javafx - javafx tableview中的动态单元格下拉列表
- amazon-web-services - 从 cdk 命令获取值并在代码中使用它们