吴学文
2019-03-26 38034ab0aed163edb44a2523205be738e9ec5d7d
WebService/src/main/java/com/java110/web/core/VueComponentElement.java
@@ -7,7 +7,9 @@
import org.thymeleaf.Arguments;
import org.thymeleaf.dom.*;
import org.thymeleaf.processor.element.AbstractMarkupSubstitutionElementProcessor;
import org.thymeleaf.util.DOMUtils;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
@@ -31,13 +33,16 @@
        List<Node> nodes = new ArrayList<>();
        //获取模板名称
        String componentName = element.getAttributeValue("name");
        logger.debug("正在解析组件{}",componentName);
        String html = VueComponentTemplate.findTemplateByComponentCode(componentName+"."+VueComponentTemplate.COMPONENT_HTML);
        if(html == null){
            throw new RuntimeException("在缓存中未找到组件【"+componentName+"】");
        }
        Node nodeHtml = new Macro(html);
        nodes.add(nodeHtml);
        //List<Node> tmpNodes = DOMUtils.getHtml5DOMFor(new StringReader(html)).getChildren();
        List<Node> tmpNodes = DOMUtils.getLegacyHTML5DOMFor(new StringReader(html)).getChildren();
        for(Node tmpNode : tmpNodes) {
            nodes.add(tmpNode);
        }
        //css
        String css = VueComponentTemplate.findTemplateByComponentCode(componentName+"."+VueComponentTemplate.COMPONENT_CSS);
        if(css != null){
@@ -46,10 +51,10 @@
            nodes.add(nodeCss);
        }
        //css
        //js
        String js = VueComponentTemplate.findTemplateByComponentCode(componentName+"."+VueComponentTemplate.COMPONENT_JS);
        if(js != null){
            js = "<script type=\"text/javascript\">" + js +"</script>";
            js = "<script type=\"text/javascript\">//<![CDATA[ \n" + js +"//]]>\n</script>";
            Node nodeJs = new Macro(js);
            nodes.add(nodeJs);
        }