Преглед изворни кода

预览页面增加容错处理

sunyj пре 9 година
родитељ
комит
7809daa197

+ 1 - 3
src/main/java/com/uas/report/controller/PrintController.java

@@ -57,8 +57,6 @@ public class PrintController {
 	@RequestMapping("")
 	public void print(String userName, String reportName, String whereCondition, String otherParameters,
 			String printType, HttpServletRequest request, HttpServletResponse response) {
-		checkParameters(userName, reportName);
-
 		// printType为空,默认进入预览页
 		if (StringUtils.isEmpty(printType)) {
 			printType = ReportConstants.PREVIEW_PRINT_TYPE;
@@ -68,7 +66,7 @@ public class PrintController {
 		if (printType.equals(ReportConstants.PREVIEW_PRINT_TYPE)
 				|| printType.equals(ReportConstants.PRINT_PRINT_TYPE)) {
 			try {
-				request.getRequestDispatcher("preview").forward(request, response);
+				request.getRequestDispatcher("preview2").forward(request, response);
 			} catch (IOException | ServletException e) {
 				e.printStackTrace();
 				throw new SystemError(e.getMessage());

+ 1 - 1
src/main/webapp/resources/css/preview2.css

@@ -1,5 +1,6 @@
 body {
 	margin: 0;
+	background-color: #505050;
 	font-family: courier;
 }
 
@@ -40,6 +41,5 @@ button {
 
 #viewerContainer {
 	text-align: center;
-	background-color: #505050;
 	padding: 50px 0px 10px 0px;
 }

+ 16 - 2
src/main/webapp/resources/js/preview2/app.js

@@ -13,9 +13,8 @@ var winWidth;
 
 getWindowWidth();
 loadPdfData();
-getDocument();
 
-//是否立即打印
+// 是否立即打印
 var printType = getParameter("printType");
 if (printType && printType == 'PRINT') {
 	hiddenframe.onload = function() {
@@ -110,11 +109,26 @@ function loadPdfData() {
 		async : false,
 		url : loadPdfDataUrl,
 		success : function(data) {
+			// 返回的pdf文件路径
 			var pdfPath = data.pdfPath;
 			hiddenframe.src = pdfPath;
+			// 获取所对应的分页的pdf文件路径
 			url = pdfPath.replace(".pdf", "_" + pageIndex + ".pdf");
 			pageSize = data.pageSize;
 			document.getElementById('page_size').textContent = pageSize;
+			document.title = getParameter("reportName");
+			getDocument();
+		},
+		error : function(XMLHttpRequest) {
+			var viewerContainer = document.getElementById("viewerContainer");
+			viewerContainer.removeChild(document.getElementById("the-canvas"));
+			var p = document.createElement("p");
+			p.style.color = "#fff";
+			p.style.textAlign = "left";
+			p.style.marginLeft = "20px";
+			// 将返回的错误信息显示在页面上
+			p.textContent = XMLHttpRequest.responseText;
+			viewerContainer.appendChild(p);
 		}
 	});
 };