Freemarker的jar包html
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/ftl/" /> <property name="defaultEncoding" value="UTF-8" /> </bean> </beans>
<dependency> <groupId>org.freemarker</groupId> <artifactId>freemaeker</artifactId> <version>2.3.23</version> </dependency>
@Autowired private FreeMarkerConfigurer freeMarkerConfigurer; @RequestMapping("/genhtml") @ResponseBody public String genHtml()throws Exception { // 一、從spring容器中得到FreeMarkerConfigurer對象。 // 二、從FreeMarkerConfigurer對象中得到Configuration對象。 Configuration configuration = freeMarkerConfigurer.getConfiguration(); // 三、使用Configuration對象得到Template對象。 Template template = configuration.getTemplate("hello.ftl"); // 四、建立數據集 Map dataModel = new HashMap<>(); dataModel.put("hello", "1000"); // 五、建立輸出文件的Writer對象。 Writer out = new FileWriter(new File("D:/temp/term197/out/spring-freemarker.html")); // 六、調用模板對象的process方法,生成文件。 template.process(dataModel, out); // 七、關閉流。 out.close(); return "OK"; }
輸出文件的名稱:商品id+「.html」java
輸出文件的路徑:工程外部的任意目錄。nginx
網頁訪問:使用nginx訪問網頁。在此方案下tomcat只有一個做用就是生成靜態頁面。web
生成靜態頁面的時機:商品添加後,生成靜態頁面。能夠使用Activemq,訂閱topic(商品添加)spring
<?xml version="1.0" encoding="UTF-8"?>spring-mvc
<beans xmlns="http://www.springframework.org/schema/beans"tomcat
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"mvc
xmlns:context="http://www.springframework.org/schema/context"app
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"spa
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
</beans>