-
使用junit运行freemarker找不到模板20
我们是jsp项目,使用spring装配freemarker,在跑项目的时候正常,但是在跑testcase的时候报找不到模板
配置文件如下
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/templates/" /> <!-- 配置模板加载路径 -->
<property name="freemarkerSettings"><!-- 设置FreeMarker环境属性-->
<props>
<prop key="template_update_delay">1</prop> <!-- 刷新模板的周期,单位为秒 -->
<!--<prop key="classic_compatible">true</prop>--> <!-- 此属性可以防止模板解析空值时的错误 -->
<prop key="default_encoding">UTF-8</prop><!--模板的编码格式 -->
<prop key="locale">zh_CN</prop><!-- 本地化设置-->
<prop key="url_escaping_charset">UTF-8</prop>
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="date_format">yyyy-MM-dd</prop>
<prop key="time_format">HH:mm:ss</prop>
<prop key="number_format">0.######</prop>
<prop key="boolean_format">true,false</prop>
<!--<prop key="auto_import">"/spring.ftl" as spring</prop>
<prop key="whitespace_stripping">true</prop>
<prop key="tag_syntax">auto_detect</prop> -->
</props>
</property>
</bean>
项目是使用myeclipse向导创建的Web项目
配置文件的路径为 /WebRoot/WEB-INF/templates/page/index.ftl
获得template的java代码如下
Template t = freemarkerConfig.getConfiguration().getTemplate("/WEB-INF/templates/page/index.ftl");
顺便说一下,我还尝试过
Template t = freemarkerConfig.getConfiguration().getTemplate("/WebRoot/WEB-INF/templates/page/index.ftl");
Template t = freemarkerConfig.getConfiguration().getTemplate("/templates/page/index.ftl");
Template t = freemarkerConfig.getConfiguration().getTemplate("D:/myproject/WebRoot/WEB-INF/templates/page/index.ftl");
再顺便说一下,我已经诅咒过spring得freemarker插件一万遍了,也没有啥用。
任何帮助或建议都不胜感激。
问题补充:fmjsjx 写道从工程角度讲,testcase推荐使用test的resources,使用另一个专门配置测试环境的spring配置文件,而非使用主目录里的spring配置。
在spring配置文件的路径推荐使用classpath,就是这样写:<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="classpath:/templates" /> ... </bean>
这样在java代码里的相对路径就是classpath下的templates目录了(一般放在resources里)。
之后只要用相对路径获取template就行了。fmjsjx 写道从工程角度讲,testcase推荐使用test的resources,使用另一个专门配置测试环境的spring配置文件,而非使用主目录里的spring配置。
在spring配置文件的路径推荐使用classpath,就是这样写:<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="classpath:/templates" /> ... </bean>
这样在java代码里的相对路径就是classpath下的templates目录了(一般放在resources里)。
之后只要用相对路径获取template就行了。
是的,使用clapass是ok的,但是这里有一个情况,目录结构已经定了。配置文件时放在WEB-INF下的。这个我是没有权利改变的。有什么变通的方法么?2011年10月31日 17:31
3个答案 按时间排序 按投票排序
-
采纳的答案
引用
是的,使用clapass是ok的,但是这里有一个情况,目录结构已经定了。配置文件时放在WEB-INF下的。这个我是没有权利改变的。有什么变通的方法么?
没让你改变目录结构啊……
你不就只是用JUNIT跑个testcase么?
直接在src/test/resources下建个templates目录,把/WEB-INF/templates下的文件啊文件夹什么的都拷贝一份过去不就结了?
2011年11月01日 11:31
-
从工程角度讲,testcase推荐使用test的resources,使用另一个专门配置测试环境的spring配置文件,而非使用主目录里的spring配置。
在spring配置文件的路径推荐使用classpath,就是这样写:<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="classpath:/templates" /> ... </bean>
这样在java代码里的相对路径就是classpath下的templates目录了(一般放在resources里)。
之后只要用相对路径获取template就行了。2011年11月01日 10:23
相关推荐
eclipse使用和junit使用
使用junit中例子, junit demo, junit 教程
如何使用JUnit写测试 如何使用JUnit写测试
也可以不标注,会使用默认运行器 @Parameters 用于使用参数化功能 @SuiteClasses 用于套件测试 @BeforeClass @Before @After @AfterClass这些注解标注的方法又称测试的Fixture。 JUnit为所有原语类型、对象和数组...
使用Junit4.12需要用的两个包,官网在国内无法下载
《单元测试之道Java版:使用JUnit》PDF 下载
使用Junit4.12需要用的两个包,官网在国内无法下载 使用Junit4.12需要用的两个包,官网在国内无法下载
Netbeans如何使用JUnit
教会你如何使用junit,以及myeclipse+junit 使用
单元测试之道(Java):使用JUnit进行单元测试。单元测试是提高代码质量的有效手段,但大部分开发人员由于种种原因都不乐意进行单元测试。
(在此文档中我使用JUnit的版本为JUnit4.3.1)先检查一下你的Eclipse环境是否已经有编写JUnit测试类的环境了,如果有了就可以直接使用了,如果没有安装,请参考以下操作,如:在Eclipse要安装那些插件和写JUnit测试...
Eclipse 快速上手指南之使用 JUnit 在 Eclipse中使用 JUnit 测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit 是一 个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,...
SpringBoot使用Junit进行单元测试,对如何在Springboot中使用Junit进行单元测试提供示例。
Junit的简单使用,Junit的简单使用
在Eclipse中使用JUnit4进行单元测试 在Eclipse中使用JUnit4进行单元测试
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage,包含依赖包:junit-jupiter-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-platform-launcher-1.5.1.jar,junit-...
单元测试框架Junit—— JUnit3.8.1 以及使用JUnit测试的代码demo。
如何在eclipse中使用junit4进行单体测试的说明教程
junit总结使用例子junit总结使用例子junit总结使用例子
Junit java单元测试内部机制解析