-
使用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
相关推荐
2. **数据模型**:在Freemarker中,数据模型是由Java对象构成的,这些对象被传递到模板中供其使用。这些对象可以是简单的值,如字符串、数字,也可以是复杂的Java集合,如列表、映射等。 3. **分离关注点**:...
9. **开发工具**:可能涉及到Eclipse、IntelliJ IDEA等IDE的使用,以及如何配置它们以支持Servlet和Freemarker的开发。 10. **测试与调试**:学习如何使用JUnit进行单元测试,以及在开发过程中如何利用浏览器开发者...
**标题与描述解析** 标题"BBS.rar_BBS java_BBS论坛_freemarker ...最后,测试和部署也是项目开发不可或缺的部分,可能需要JUnit进行单元测试,Git进行版本控制,以及持续集成工具如Jenkins来自动化构建和部署流程。
- 使用Thymeleaf、Freemarker或Velocity等模板引擎进行视图层渲染。 - 定义RESTful API接口,理解HTTP请求方法(GET、POST、PUT、DELETE)和状态码。 - 数据库设计,包括表结构设计、关系建模以及SQL语句的编写。 - ...
2. **性能优势**:由于FreeMarker模板在执行时不需要转换成Servlet,其运行速度通常比JSP更快。 在搭建FreeMarker环境时,虽然它本身很轻量级,基本不依赖第三方库,但在测试阶段,可能会引入如JUnit这样的测试框架...
总的来说,这个项目涵盖了Java后端开发的多个核心知识点,包括但不限于:Spring框架的应用、Web MVC模式的理解、MyBatis的使用、分布式服务的实现、模板引擎的运用以及数据库设计。对于初入IT行业的实习生来说,这样...
这些信息将被插入到模板的相应位置,生成定制化的代码。 3. **Java生成器**:由于标签提到“java”,我们可以推断此代码生成器主要用于生成Java代码。在Java环境中,代码生成器可以用于创建Java类、接口、枚举、...
6. **Thymeleaf或FreeMarker**:如果项目使用了模板引擎,将学习如何渲染视图。 7. **Gradle或Maven**:项目构建工具的使用,管理和依赖的版本控制。 8. **Git**:版本控制系统的应用,追踪代码更改和协作开发。 9. ...
6. **插件支持**: Struts2有一个丰富的插件生态系统,如Tiles用于页面布局,Freemarker或Velocity用于模板引擎,以及Struts2 jQuery Plugin等增强前端交互性。 **Struts2的工具和辅助** 1. **IDE集成**: 开发者...
《SpringBoot高仿小米电子商城项目模板》是一个基于Java技术和SpringBoot框架的电子商务平台模板,旨在为开发者提供一个快速构建类似小米商城应用的基础。这个模板包含了一系列关键功能和组件,可帮助开发人员节省...
6. **模板引擎**: 可能会使用Thymeleaf、Freemarker或Mustache等模板引擎来渲染静态页面,使得动态数据能够和HTML模板结合,生成最终的网页。 7. **API设计**: RESTful API设计是现代Web服务的标准,本项目可能定义...
5. **模板引擎**:为了生成动态网页,可能会使用FreeMarker或JSP等模板引擎,将后端数据渲染成HTML页面。 6. **前端技术**:尽管主要关注Java后端,但前端部分同样重要。可能使用HTML、CSS和JavaScript进行页面布局...
4. **模板引擎**:对于前端展示,LyNews可能使用了FreeMarker或Thymeleaf这样的模板引擎,这些工具允许开发者将静态HTML模板与动态数据结合,生成最终的网页内容。 5. **安全性**:作为一个新闻发布系统,LyNews...
Struts 2.1.8.1 是一个流行的Java Web应用程序框架,用于构建高效、可扩展和易于维护的Web应用。...不过需要注意的是,由于这是较旧的版本,可能不支持最新的特性和安全修复,建议在新项目中使用更新的Struts 2版本。
7. **模板引擎**:为了生成动态网页,系统可能使用Thymeleaf、FreeMarker或Velocity等模板引擎,将后端数据渲染到HTML页面上。 8. **日志记录**:为了方便问题排查和性能分析,系统通常会集成Log4j、Logback或...
此外,项目可能还涉及到其他技术,例如使用Thymeleaf或FreeMarker作为模板引擎来生成动态网页,使用Maven或Gradle作为构建工具,以及使用Git进行版本控制。单元测试和集成测试也是项目开发中不可或缺的部分,可能...
6. **模板引擎**:可能使用Thymeleaf或Freemarker等模板引擎来渲染HTML页面,提供友好的用户体验。 7. **测试**:SpringBoot支持单元测试和集成测试,例如使用JUnit和Mockito进行代码验证。 8. **部署与持续集成**...
6. **模板引擎或前后端分离**: 如果系统包含Web界面,可能会使用Thymeleaf或Freemarker等模板引擎。若采用前后端分离,前端可能使用React、Vue或Angular等JavaScript框架。 7. **测试与持续集成**: SpringBoot支持...
系统可能使用Thymeleaf或Freemarker等模板引擎来渲染视图,便于动态生成HTML页面。 7. **前端技术**: 虽然主要讨论后端,但前端可能采用了Bootstrap、Vue.js或React等技术,提供友好的用户界面和交互体验。 8. ...
这个"struts2必备11个jar包"集合是开发者在使用Struts2框架进行开发时不可或缺的组件。这11个jar包包含了框架的核心功能、依赖库以及插件,它们协同工作,确保了Struts2的正常运行和高效性能。 1. **struts2-core....