package com.taobao.easyweb.core.code.common; import java.io.StringWriter; import javax.annotation.Resource; import org.springframework.stereotype.Component; import com.taobao.easyweb.core.app.AppContainer; import com.taobao.easyweb.core.code.CodeRender; import com.taobao.easyweb.core.context.ThreadContext; @Component("ewCommonTool") public class CommonTool { @Resource(name = "ewCodeRender") private CodeRender codeRender; public String include(String app, String name) { return include(app, AppContainer.getCurrentVersion(app), name); } public String include(String appName, String appVersion, String name) { String appKey = appName + "-" + appVersion; CommonTarget target = CommonContainer.getAppInclude(appName, name); if (target == null) { return "<!-- import common error " + appKey + " " + name + " -->"; } StringWriter writer = new StringWriter(); String path = ThreadContext.getContext().getCurrentPath(); try { codeRender.render(target.getGroovyFile(), target.getMethod(), writer); } catch (Exception e) { return "<!-- import common error " + appKey + " " + name + " " + e.getMessage() + " -->"; } finally { ThreadContext.getContext().setCurrentPath(path);// ��·�������ȥ } return writer.toString(); } }