From 0c0bef3b3dcf5742de06b638d537a0873c2a805f Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 06 五月 2019 10:21:28 +0800
Subject: [PATCH] 前段框架 组件传参问题微调
---
WebService/src/main/java/com/java110/web/core/VueComponentElement.java | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/core/VueComponentElement.java b/WebService/src/main/java/com/java110/web/core/VueComponentElement.java
index 7c9329c..d8c025d 100644
--- a/WebService/src/main/java/com/java110/web/core/VueComponentElement.java
+++ b/WebService/src/main/java/com/java110/web/core/VueComponentElement.java
@@ -1,6 +1,5 @@
package com.java110.web.core;
-import com.java110.common.util.Assert;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -9,14 +8,13 @@
import org.thymeleaf.dom.Element;
import org.thymeleaf.dom.Macro;
import org.thymeleaf.dom.Node;
+import org.thymeleaf.exceptions.TemplateProcessingException;
import org.thymeleaf.processor.element.AbstractMarkupSubstitutionElementProcessor;
import org.thymeleaf.util.DOMUtils;
import java.io.StringReader;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* 缁勪欢 鑷畾涔夋爣绛惧姛鑳界被
@@ -69,6 +67,7 @@
if (js != null) {
js = dealJs(js, element);
+ js = dealJsAddComponentCode(js, element);
js = "<script type=\"text/javascript\">//<![CDATA[ \n" + js + "//]]>\n</script>";
Node nodeJs = new Macro(js);
nodes.add(nodeJs);
@@ -106,11 +105,16 @@
continue;
}
String[] types = type.split(":");
- if (!element.hasAttribute(types[0].trim())) {
- throw new RuntimeException("鏈厤缃粍浠跺睘鎬�" + types[0]);
+ String attrKey = types[0].replace(" ", "")
+ .replace("\n", "")
+ .replace("\r", "");
+ if (!element.hasAttribute(attrKey)) {
+ String componentName = element.getAttributeValue("name");
+ logger.error("缁勪欢" + componentName + "鏈厤缃粍浠跺睘鎬� " + attrKey);
+ throw new TemplateProcessingException("缁勪欢[" + componentName + "]鏈厤缃粍浠跺睘鎬�" + attrKey);
}
- String vcType = element.getAttributeValue(types[0]);
- js = js.replace(types[0], vcType);
+ String vcType = element.getAttributeValue(attrKey);
+ js = js.replace(attrKey, "'" + vcType + "'");
}
return js;
@@ -125,7 +129,13 @@
*/
private String dealJsAddComponentCode(String js, Element element) {
- return "";
+ if (!element.hasAttribute("code")) {
+ return js;
+ }
+
+ String code = element.getAttributeValue("code");
+
+ return js.replace("@vc_", code);
}
/**
--
Gitblit v1.8.0