zoukankan      html  css  js  c++  java
  • Freemarker网页静态化

    Freemarker的jar包

    创建整合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 {
    		// 1、从spring容器中获得FreeMarkerConfigurer对象。
    		// 2、从FreeMarkerConfigurer对象中获得Configuration对象。
    		Configuration configuration = freeMarkerConfigurer.getConfiguration();
    		// 3、使用Configuration对象获得Template对象。
    		Template template = configuration.getTemplate("hello.ftl");
    		// 4、创建数据集
    		Map dataModel = new HashMap<>();
    		dataModel.put("hello", "1000");
    		// 5、创建输出文件的Writer对象。
    		Writer out = new FileWriter(new File("D:/temp/term197/out/spring-freemarker.html"));
    		// 6、调用模板对象的process方法,生成文件。
    		template.process(dataModel, out);
    		// 7、关闭流。
    		out.close();
    		return "OK";
    	}
    

     

    网页的静态化方案

    输出文件的名称:商品id+.html

    输出文件的路径:工程外部的任意目录。

    网页访问:使用nginx访问网页。在此方案下tomcat只有一个作用就是生成静态页面。

    生成静态页面的时机:商品添加后,生成静态页面。可以使用Activemq,订阅topic(商品添加)

    <?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>

  • 相关阅读:
    小学生二元四则运算(F)
    补进度条
    附加作业
    个人总结
    第四 五周结对作业(照片)
    第四,五周——Java编写的电梯模拟系统(结对作业)
    第三周(JAVA编写的 wordcount)
    第三周续(读代码)
    第三周
    第二周续.(代码)
  • 原文地址:https://www.cnblogs.com/zhoucx66/p/9322135.html
Copyright © 2011-2022 走看看