浏览代码

完善报表设计器在与服务端交互出现异常时的异常信息提示

master
jacky6024 7 年前
父节点
当前提交
a3802c1755
  1. 8
      ureport2-console/src/main/java/com/bstek/ureport/console/BaseServletAction.java
  2. 19
      ureport2-console/src/main/java/com/bstek/ureport/console/UReportServlet.java
  3. 10
      ureport2-console/src/main/java/com/bstek/ureport/console/html/HtmlPreviewServletAction.java
  4. 36
      ureport2-console/src/main/resources/ureport-asserts/js/designer.bundle.js
  5. 2
      ureport2-console/src/main/resources/ureport-asserts/js/preview.bundle.js
  6. 8
      ureport2-js/src/dialog/BuildinDatasourceSelectDialog.js
  7. 8
      ureport2-js/src/dialog/DatasourceDialog.js
  8. 8
      ureport2-js/src/dialog/MethodSelectDialog.js
  9. 16
      ureport2-js/src/dialog/OpenDialog.js
  10. 24
      ureport2-js/src/dialog/SaveDialog.js
  11. 24
      ureport2-js/src/dialog/SqlDatasetDialog.js
  12. 24
      ureport2-js/src/preview.js
  13. 8
      ureport2-js/src/table/ReportTable.js
  14. 8
      ureport2-js/src/tools/SaveTool.js
  15. 8
      ureport2-js/src/tree/BuildinTree.js
  16. 8
      ureport2-js/src/tree/DatabaseTree.js
  17. 10
      ureport2-js/src/tree/SpringTree.js

8
ureport2-console/src/main/java/com/bstek/ureport/console/BaseServletAction.java

@ -33,7 +33,13 @@ import com.bstek.ureport.exception.ReportComputeException;
* @since 2016年6月3日
*/
public abstract class BaseServletAction implements ServletAction {
protected Throwable buildRootException(Throwable throwable){
if(throwable.getCause()==null){
return throwable;
}
return buildRootException(throwable.getCause());
}
protected String decode(String value){
if(value==null){
return value;

19
ureport2-console/src/main/java/com/bstek/ureport/console/UReportServlet.java

@ -27,6 +27,7 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
@ -74,10 +75,28 @@ public class UReportServlet extends HttpServlet {
RequestHolder.setRequest(req);
try{
targetHandler.execute(req, resp);
}catch(Exception ex){
resp.setCharacterEncoding("UTF-8");
PrintWriter pw=resp.getWriter();
Throwable e=buildRootException(ex);
resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
String errorMsg = e.getMessage();
if(StringUtils.isBlank(errorMsg)){
errorMsg=e.getClass().getName();
}
pw.write(errorMsg);
pw.close();
throw new ServletException(ex);
}finally{
RequestHolder.clean();
}
}
private Throwable buildRootException(Throwable throwable){
if(throwable.getCause()==null){
return throwable;
}
return buildRootException(throwable.getCause());
}
private void outContent(HttpServletResponse resp, String msg) throws IOException {
resp.setContentType("text/html");

10
ureport2-console/src/main/java/com/bstek/ureport/console/html/HtmlPreviewServletAction.java

@ -330,20 +330,12 @@ public class HtmlPreviewServletAction extends RenderPageServletAction {
StringWriter sw=new StringWriter();
PrintWriter pw=new PrintWriter(sw);
root.printStackTrace(pw);
StringBuffer sb=sw.getBuffer();
String trace=sb.toString();
String trace=sw.getBuffer().toString();
trace=trace.replaceAll("\n", "<br>");
pw.close();
return trace;
}
private Throwable buildRootException(Throwable throwable){
if(throwable.getCause()==null){
return throwable;
}
return buildRootException(throwable.getCause());
}
public void setExportManager(ExportManager exportManager) {
this.exportManager = exportManager;
}

36
ureport2-console/src/main/resources/ureport-asserts/js/designer.bundle.js

文件差异因一行或多行过长而隐藏

2
ureport2-console/src/main/resources/ureport-asserts/js/preview.bundle.js

文件差异因一行或多行过长而隐藏

8
ureport2-js/src/dialog/BuildinDatasourceSelectDialog.js

@ -62,8 +62,12 @@ export default class BuildinDatasourceSelectDialog{
_this.tbody.append(tr);
}
},
error:function(){
alert(`${window.i18n.dialog.buildin.loadFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.buildin.loadFail}`);
}
}
});
}

8
ureport2-js/src/dialog/DatasourceDialog.js

@ -148,11 +148,11 @@ export default class DatasourceDialog{
}
}
},
error:function(){
if(callback){
alert(`${window.i18n.dialog.datasource.failTip}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.datasource.failTip1}`);
alert(`${window.i18n.dialog.datasource.failTip}`);
}
}
});

8
ureport2-js/src/dialog/MethodSelectDialog.js

@ -53,8 +53,12 @@ export default class MethodSelectDialog{
_this.tbody.append(tr);
}
},
error:function(){
alert(`${window.i18n.dialog.methodSelect.load}["+beanId+"]${window.i18n.dialog.methodSelect.fail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.methodSelect.load}["+beanId+"]${window.i18n.dialog.methodSelect.fail}`);
}
}
});
}

16
ureport2-js/src/dialog/OpenDialog.js

@ -88,8 +88,12 @@ export default class OpenDialog{
let index=reportFiles.indexOf(file);
reportFiles.splice(index,1);
},
error:function(){
alert(`${window.i18n.dialog.open.delFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.open.delFail}`);
}
}
});
});
@ -114,8 +118,12 @@ export default class OpenDialog{
}
_this.providerSelect.trigger('change');
},
error:function(){
alert(`${window.i18n.dialog.open.loadFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.open.loadFail}`);
}
}
});
this.dialog.modal('show');

24
ureport2-js/src/dialog/SaveDialog.js

@ -74,8 +74,12 @@ export default class SaveDialog{
let index=reportFiles.indexOf(file);
reportFiles.splice(index,1);
},
error:function(){
alert(`${window.i18n.dialog.save.delFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.save.delFail}`);
}
}
});
});
@ -121,8 +125,12 @@ export default class SaveDialog{
resetDirty();
_this.dialog.modal('hide');
},
error:function(){
alert(`${window.i18n.dialog.save.fail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.save.fail}`);
}
}
});
});
@ -146,8 +154,12 @@ export default class SaveDialog{
}
_this.providerSelect.trigger('change');
},
error:function(){
alert(`${window.i18n.dialog.save.loadFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.save.loadFail}`);
}
}
});
this.dialog.modal('show');

24
ureport2-js/src/dialog/SqlDatasetDialog.js

@ -117,8 +117,12 @@ export default class SqlDatasetDialog{
updateLinting(editor,[]);
}
},
error:function(){
alert(`${window.i18n.dialog.sql.syntaxCheckError}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.sql.syntaxCheckError}`);
}
}
});
};
@ -162,8 +166,12 @@ export default class SqlDatasetDialog{
success:function(data){
previewDialog.showData(data);
},
error:function(){
previewDialog.showError(`<div style='color: #d30e00;'>${window.i18n.dialog.sql.previewFail}</div>`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
previewDialog.showError(`<div style='color: #d30e00;'>${window.i18n.dialog.sql.previewFail}</div>`);
}
}
});
});
@ -263,8 +271,12 @@ export default class SqlDatasetDialog{
_this.tableBody.append(tr);
}
},
error:function(){
alert(`${window.i18n.dialog.sql.loadFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.dialog.sql.loadFail}`);
}
}
})
}

24
ureport2-js/src/preview.js

@ -41,9 +41,13 @@ $(document).ready(function(){
iFrame.window.print();
});
},
error:function(){
error:function(response){
hideLoading();
alert("服务端出错!");
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert("服务端出错!");
}
}
});
});
@ -238,8 +242,12 @@ function _refreshData(customParameters,file,totalPage,second){
_refreshData(customParameters,file,totalPage,second);
},second);
},
error:function(){
alert('加载数据失败!');
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert('加载数据失败!');
}
}
});
};
@ -340,8 +348,12 @@ window.submitSearchForm=function(file,customParameters){
}
}
},
error:function(){
alert('查询操作失败!');
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert('查询操作失败!');
}
}
});
};

8
ureport2-js/src/table/ReportTable.js

@ -124,8 +124,12 @@ export default class ReportTable{
$('.ht_master').css('background','transparent');
}
},
error:function(){
alert(`${window.i18n.table.report.load}${file}${window.i18n.table.report.fail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.table.report.load}${file}${window.i18n.table.report.fail}`);
}
}
});
}

8
ureport2-js/src/tools/SaveTool.js

@ -36,8 +36,12 @@ export default class SaveTool extends Tool{
alert(`${window.i18n.tools.save.successSave}`);
resetDirty();
},
error:function(){
alert(`${window.i18n.tools.save.failSave}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.tools.save.failSave}`);
}
}
});
}else{

8
ureport2-js/src/tree/BuildinTree.js

@ -171,8 +171,12 @@ export default class BuildinTree extends BaseTree{
_this.addField(dataset,fields,field,ul);
}
},
error:function(){
alert(`${window.i18n.tree.loadFieldFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.tree.loadFieldFail}`);
}
}
})
}

8
ureport2-js/src/tree/DatabaseTree.js

@ -200,8 +200,12 @@ export default class DatabaseTree extends BaseTree{
_this.addField(dataset,fields,field,ul);
}
},
error:function(){
alert(`${window.i18n.tree.loadFieldFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.tree.loadFieldFail}`);
}
}
})
}

10
ureport2-js/src/tree/SpringTree.js

@ -76,7 +76,7 @@ export default class DatabaseTree extends BaseTree{
}
},
items:{
"add": {name: `${window.i18n.tree.addField}`, icon: "add"},
"add": {name: `${window.i18n.tree.addDataset}`, icon: "add"},
"edit": {name: `${window.i18n.tree.edit}`, icon: "edit"},
"delete": {name: `${window.i18n.tree.del}`, icon: "delete"}
}
@ -166,8 +166,12 @@ export default class DatabaseTree extends BaseTree{
_this.addField(dataset,fields,field,ul);
}
},
error:function(){
alert(`${window.i18n.tree.loadFieldFail}`);
error:function(response){
if(response && response.responseText){
alert("服务端错误:"+response.responseText+"");
}else{
alert(`${window.i18n.tree.loadFieldFail}`);
}
}
})
}

正在加载...
取消
保存