在struts2中直接使用freemarker插件,默认是从应用服务器的文件系统中,取得freemarker的模板。
要让struts2从数据库中读取模板,就要像上篇文章一样,修改struts2使用的templateLoader.
struts2是通过FreemarkerManager来得到templateLoader的,这就需要我们重载一下这个类的一些方法,
struts2的api文档中说,可能的扩展点有4个:
createConfiguration
loadSettings
getTemplateLoader
populateContext
createConfiguration
创建一个Configuration对象。
loadSettings
加载freemarker的设置信息,默认是从freemarker.prpperties中读取。(如果能在类路经下找到的话)
getTemplateLoader
创建一个templateloader对象。
populateContext
组装创建的模型。
我们只需要修改一下getTemplateLoader 方法就可以了。
public class YaoFreeMarkerManager extends FreemarkerManager
{
private final static TemplateLoader templateLoader;
static
{
//把上一篇文章中写的内部类,写成一个单独的类。
templateLoader=new YaoTemplateLoader();
}
@Override
protected TemplateLoader getTemplateLoader(ServletContext arg0)
{
return templateLoader;
}
}
<这样在对应action的配置文件中,将<result type="freemarker"></result>中的内容制定为需要在数据库中查找的字段的条件,就可以使用struts2结合freemarker从数据库中读取模板了.
分享到:
相关推荐
在Struts2中,FreeMarker模板作为视图层,用于渲染控制器处理后传递的数据。FreeMarker模板语言简洁且强大,可以动态地将数据模型与HTML模板结合,生成最终的网页。开发者可以通过 `${}` 符号来引用数据模型中的变量...
在Struts2中,可以创建一个LoginAction类,该类包含处理登录请求的方法。当用户提交登录表单时,这些方法会接收表单参数,调用Hibernate查询数据库,比对用户输入的凭证与数据库中的记录。 5. **拦截器...
在Struts2中集成Hibernate,可以方便地处理数据持久化,如CRUD(创建、读取、更新和删除)操作。 在实际开发过程中,我们首先会在MyEclipse环境中创建一个新的项目,然后导入Struts2和Hibernate的依赖库。接着,...
在Struts 2中进行数据库操作是常见的需求,这通常涉及到CRUD(创建、读取、更新和删除)操作。CRUD是数据库应用的基础,通过它,开发者能够对数据库中的数据进行完整的生命周期管理。 在给出的例子中,虽然没有直接...
这个压缩包文件“StrutsTest”包含了学习Struts2基础功能的实例,特别是对于初学者来说,它提供了增删改查(CRUD)操作以及用户登录功能的实现,同时还涉及了使用JDBC进行数据库连接。 增删改查(CRUD)是任何数据...
在"struts购物车含数据库"的项目中,开发者利用Struts2框架实现了购物车功能,并结合数据库来存储和管理用户添加的商品。购物车是电子商务网站的核心组件,它允许用户在购买商品之前临时存储商品,方便比较和修改...
在本“Struts2项目实例”中,我们将深入探讨如何使用Struts2框架来实现基本的CRUD(创建、读取、更新、删除)操作。 首先,Struts2的核心是Action类,它是业务逻辑处理的中心。在这个实例中,每个CRUD操作将对应一...
6. **Action类**:Struts2中的控制器,接收并处理HTTP请求,调用Service方法,然后返回一个结果给View展示。 7. **JSP或Freemarker页面**:视图层,展示数据或交互界面。 学习这个基础模板,你需要理解Struts2的...
在Struts2中,它作为默认的视图技术,允许开发者使用简单的模板语言来创建动态页面。 4. **javassist-3.11.0.GA.jar**:Javassist是一个Java字节码操作和分析框架,Struts2使用它来动态地修改或生成类,例如在运行...
在Struts2中,视图通常由JSP页面或者FreeMarker模板来实现。用户在完成操作后,Struts2会返回一个结果类型,决定跳转到哪个页面。例如,添加学生成功后,系统可能会返回一个"success"结果,将用户重定向到显示所有...
在这个“Struts2 上传下载项目”中,我们将深入探讨如何利用Struts2实现文件上传与下载功能,并结合MySQL数据库、DAO(数据访问对象)层以及MVC架构来构建一个完整的应用。 1. **Struts2框架基础** Struts2的核心...
视图层展示的数据可以通过Struts2的标签库(如s:property、s:form等)轻松地从模型中获取并显示。 在项目"Student_Struts2"的压缩包中,可能包含以下几个部分: 1. `struts.xml` - Struts2的核心配置文件,定义了...
在Struts2中,主要关注以下几个核心概念和组件: 1. **拦截器(Interceptors)**:这是Struts2的一大亮点,它基于AOP(面向切面编程)思想,可以对请求进行预处理和后处理,如日志记录、权限验证、数据校验等。拦截...
Struts、Spring、Hibernate 和 Freemarker 是 Java Web 开发中常用的四大框架,它们结合使用可以构建高效、可维护的Web应用程序。"Struts+Spring+Hibernate+Freemarker 新闻系统"是一个典型的MVC(Model-View-...
在这个"struts2+hibernate小项目"中,MyHibernateEx5可能是一个演示性的应用,展示了如何将这两者结合使用。可能的实现包括:使用Struts2的Action类处理用户请求,调用Hibernate的Session来查询或修改数据库,然后...
3. **处理异常**:在开发过程中可能会遇到各种异常,如数据库连接异常、配置文件读取失败等。通过查看控制台输出的信息来定位问题原因,并进行相应调整。 #### 十、总结 本文通过图解的方式详细介绍了如何在...
在Struts2中,Action类作为Controller,处理用户的请求;Model通常是业务对象,负责数据的处理和存储;View则用于展示数据,通常由JSP页面或者FreeMarker模板实现。 3. **CRUD操作** CRUD操作是数据库管理中最基础...
Struts2论坛系统是一款采用Java技术开发的在线讨论平台,其核心技术栈主要为Struts2框架和Hibernate ORM工具。这个论坛系统旨在提供一个交互性强、功能完善的社区环境,让用户能够发表话题、参与讨论、分享知识和...
- **视图(View)**:使用JSP或FreeMarker等模板技术来呈现数据。在Struts2中,我们可以通过OGNL(Object-Graph Navigation Language)表达式来访问Action对象中的属性。 - **配置(Configuration)**:在struts.xml...
在Struts2中,ANTLR可能用于解析配置文件。 8. Log4j:`log4j-1.2.15.jar`是一个流行的日志记录框架,用于在Java应用程序中记录调试信息、错误和其他重要事件。它提供了灵活的日志配置和多种输出格式。 这些库的...