Freemarker網頁靜態化

Freemarker的jar包html

建立整合spring的配置文件

<?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+.htmljava

輸出文件的路徑:工程外部的任意目錄。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>

相關文章
相關標籤/搜索