JAVA Freemarker(2)---在IDEA中 SpringMVC整合Freemarker的详细步骤
2017-09-27 15:31
627 查看
第一步:build.gradle配置引入jar包,
group 'wyscha' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'war' webAppDirName = 'webapp' sourceCompatibility = 1.8 repositories { mavenCentral() } sourceSets { main { java { srcDir 'activity/src/main/java' } resources { srcDir 'core/src/main/resources' } } test { java { srcDir 'core/src/test/java' } } } dependencies { //spring compile group: 'org.springframework', name: 'spring-core', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-aop', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-aspects', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-context-support', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-context', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-beans', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-tx', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-test', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-orm', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-oxm', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-web', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-webmvc', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-jdbc', version: '4.2.8.RELEASE' compile group: 'org.springframework', name: 'spring-expression', version: '4.2.8.RELEASE' //排程 compile group: 'org.quartz-scheduler', name: 'quartz', version: '2.2.1' //拼音 compile group: 'com.belerweb', name: 'pinyin4j', version: '2.5.0' //excel compile group: 'org.apache.poi', name: 'poi', version: '3.9' compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.9' compile group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '2.6.0' //activiti compile group: 'org.activiti', name: 'activiti-engine', version: '6.0.0' compile group: 'org.activiti', name: 'activiti-spring', version: '6.0.0' //mybatis compile group: 'org.mybatis', name: 'mybatis', version: '3.3.1' compile group: 'org.mybatis', name: 'mybatis-spring', version: '1.2.5' compile group: 'org.mybatis.generator', name: 'mybatis-generator-core', version: '1.3.5' //数据库 compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.40' compile files('webapp/WEB-INF/lib/sqljdbc41.jar') compile files('webapp/WEB-INF/lib/bcprov-jdk15-140.jar') compile files('webapp/WEB-INF/lib/ezmorph-1.0.6.jar') compile files('webapp/WEB-INF/lib/json-lib-2.3-jdk13.jar') compile group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4' compile group: 'com.alibaba', name: 'druid', version: '1.1.0' //公共 compile group: 'commons-lang', name: 'commons-lang', version: '2.5' compile group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.2' compile group: 'commons-configuration', name: 'commons-configuration', version: '1.10' compile group: 'commons-fileupload', name: 'commons-fileupload', version: '1.3.1' compile group: 'commons-io', name: 'commons-io', version: '2.4' compile group: 'org.freemarker', name: 'freemarker', version: '2.3.20' //httpclient compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2' //json compile group: 'com.alibaba', name: 'fastjson', version: '1.2.24' //compile 'net.sf.json-lib:json-lib:2.4:jdk15' compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8' compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.8' compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.8.8' //日志 compile 'org.slf4j:slf4j-api:1.7.14' compile 'ch.qos.logback:logback-core:1.1.3' compile 'ch.qos.logback:logback-classic:1.1.3' compile group: 'org.logback-extensions', name: 'logback-ext-spring', version: '0.1.4' //容器标签 compile group: 'javax', name: 'javaee-api', version: '7.0' runtime("jstl:jstl:1.2") compile group: 'taglibs', name: 'standard', version: '1.1.2' testCompile group: 'junit', name: 'junit', version: '4.12' } /* idea 工具下启用此配置 */ apply plugin: 'idea' idea { module { inheritOutputDirs = false outputDir = file("webapp/WEB-INF/classes/") } } /* apply plugin: 'eclipse-wtp' eclipse{ classpath{ defaultOutputDir = file('webapp/WEB-INF/classes/') } } */ task copyJ2eeWebJars(type: Copy) { from configurations.runtime into 'webapp/WEB-INF/lib' exclude '**/*sqljdbc41*', '**/*json-lib-2.3-jdk13*','**/*ezmorph-1.0.6*','**/*bcprov-jdk15-140*' }
第二步:在src/main/resources/conf新建Freemarker文件freemarker.properties,
template_update_delay=0 default_encoding=UTF-8 output_encoding=UTF-8 number_format=0.########## classic_compatible=true template_exception_handler=ignore locale=zh_CN date_format=yyyy-MM-dd time_format=HH:mm:ss datetime_format=yyyy-MM-dd HH:mm:ss
第三步:在springmvc.xml中添加freemarker配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 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/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <mvc:annotation-driven/> <context:component-scan base-package="com.cloud.wyscha"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/> </context:component-scan> <!-- 设置freeMarker的配置文件路径 --> <bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="location" value="classpath:conf/freemarker.properties"/> </bean> <!-- 配置freeMarker的模板路径 --> <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" /> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="freemarkerSettings" ref="freemarkerConfiguration" /> <property name="templateLoaderPath" value="/WEB-INF/ftl/" /> <property name="freemarkerVariables"> <map> <!-- 设置一些常用全局变量 --> <entry key="xml_escape" value-ref="fmXmlEscape" /> </map> </property> </bean> <!-- 配置freeMarker视图解析器 --> <bean id="viewResolverFtl" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="contentType" value="text/html; charset=utf-8" /> <property name="cache" value="true" /> <property name="suffix" value=".ftl" /> <property name="exposeRequestAttributes" value="true" /> <property name="exposeSessionAttributes" value="true" /> <property name="exposeSpringMacroHelpers" value="true" /> <property name="requestContextAttribute" value="request" /> <property name="order" value="0" /><!--这段熟悉设置代表了在多视图的情况下,优先匹配的顺序。--> </bean> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/views/"></property> <property name="suffix" value=".jsp"></property> <property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView" /> <property name="order" value="1" /> </bean> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="104857600" /> <property name="maxInMemorySize" value="4096" /> <property name="defaultEncoding" value="UTF-8"></property> </bean> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <!-- 定义默认的异常处理页面,当该异常类型的注册时使用 --> <property name="defaultErrorView" value="error"></property> <!-- 定义异常处理页面用来获取异常信息的变量名,默认名为exception --> <property name="exceptionAttribute" value="exception"></property> <!-- 定义需要特殊处理的异常,用类名或完全路径名作为key,异常也页名作为值 --> <property name="exceptionMappings"> <props> <prop key="java.lang.Exception">error</prop> <prop key="java.lang.Throwable">error</prop> </props> </property> </bean> </beans>
第四步:编写controller文件和ftl文件
在src/main/java目录下新建包com.cloud.wyscha.base.controller;,在包下新建FreeMarkController.java,如下:@Controller @RequestMapping("/freemark") public class FreeMarkController extends BaseController { @RequestMapping("/helloWorld.action") public ModelAndView helloWorld(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> map = new HashMap<String, Object>(); map.put("word0","Hello"); map.put("word1","World!"); return new ModelAndView("helloWorld", map); } }
helloWorld.ftl,如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h2>${word0}${word1}</h2> </body> </html>
第五步:访问
http://localhost/freemark/helloWorld.action
—————————————————————————————————————————————————–
java架构师项目实战,高并发集群分布式,大数据高可用视频教程,共760G
下载地址:https://item.taobao.com/item.htm?id=555888526201
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
+
hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门
相关文章推荐
- java Spring整合Freemarker的详细步骤
- java SpringMVC整合Freemarker的详细配置步骤
- springmvc整合freemarker配置的详细步骤
- java的ssm框架整合详细步骤,复制粘贴,直接可用(初级)
- Spring、SpringMVC、Hibernate详细整合实例,包含所有步骤
- 使用纯Java整合SpringMVC、freemarker
- Java笔记1:IntelliJ IDEA详细安装步骤
- Idea创建springmvc简单项目超详细步骤(适用于idea不熟悉的初学者)
- JAVA中SSH三大框架整合的详细步骤_摘录于尚硅谷视频
- 【JAVA基础】springMVC 整合freemarker(maven)
- Java语言SpringMvc整合FreeMarker静态页面生成
- Java笔记1:IntelliJ IDEA详细安装步骤
- Java Activiti(11)---整合到springMVC项目的详细配置
- Java笔记1:IntelliJ IDEA详细安装步骤
- java连接SQL server 2000 详细步骤
- 【java】intellij idea SpringMVC 配置FreeMarker模板引擎
- java excel完整实现导入到数据库的功能开发试题导入功能 整合springmvc mybatis 处理
- 一步步学java框架之Spring-SpringMVC-Hibernate在idea的使用(三)
- Spring4整合Hibernate5详细步骤
- Java Spring整合Hibernate详细示例