后台有唯一键重复问题,如何把错误信息返回到页面
现在导入异常时前端没有提示吗?
是的 没有任何提示
能否提供一下导入出错的excel文件、框架类型(cuba\jmix)及版本.
异常完整堆栈也发一下
你好,
看了一下源码, 这块作者的设计可能就是这样,不显示完整的异常信息,只是将导入结果的摘要信息显示在导入界面上,详细导入日志存到了数据库。
这样确实有一些不方便。
解决方案:
- 使用 Studio 扩展 ImportWizard
- 在扩展的 ImportWizard 控制器中重写 startImport 方法,参考:
@Override
public void startImport() {
try {
super.startImport();
ImportExecution execution = importExecutionDs.getItem();
if (!execution.getSuccess()){
//如果导入失败时,提取错误消息,并给用户提示
String error = StringUtils.join(execution.getDetails().stream().map(e -> e.getMessage()).collect(Collectors.toList()), "</br>");
notifications.create(Notifications.NotificationType.ERROR).withContentMode(ContentMode.HTML)
.withDescription(error).show();
}
} catch (Exception e) {
showNotification("An Error occurred during import. See logs for more information", NotificationType.ERROR);
}
}