- 浏览: 121201 次
- 性别:
- 来自: 成都
文章分类
最新评论
Struts使用FreeMarker作为其默认的模板技术,因此Struts2对FreeMarker的支持非常良好。因此,为了Struts2应用中使用FreeMarker模板技术,只需要在struts.xml文件中进行简单配置即可。 由于FreeMarker自供的FTL指令的能力非常有限,让我们编写一些相对复杂的界面里有点力不从心。不过不用担心,Struts2已经为我们提供了额外的标签库的支持。要在FreeMarker模板使用标签库,只要四步,如下: 1.解压struts2-core-X.X.X.jar文件,把在META-INF文件夹下面的struts-tags.tld文件复制到WEB-INF文件夹下。 2.在web.xml文件中启动JSPSupportServlet.代码如下:
JspSupportServlet org.apache.struts2.views.JspSupportServlet
1 3.在FreeMarker模板中使用assign指令导入标签库。代码如下 注:这里我把struts-tags.tld放在WEB-INF下面 4.现在我们可以在FreeMarker模板中使用标签了,示例代码如下: 虽然这样说明,相信我们还是一头雾水,下面我们将以一下简单的实例来指导大家真正会用FreeMarker. 下面是一个登录的示例: 1.在WEB-INF文件夹下面建立一个名为ftl的文件夹,其实就是FreeMarker容器,我们把所有的ftl文件都放在里面。 现在我们先在下面建立三个名字分别为login.ftl,welcome.ftl,showinfo.ftl的文件。 login.ftl代码如下 please input username and password login
welcome.ftl代码如下: WelCome,${username},you logined!
Show Information showinfo.ftl代码如下:
User Information
username:
${username}
sex:
${sex}
age:
${age}
2.从上面的ftl中我们可以看出,我们必须建立两个Action。 我是在com.test.action包下建立Action的。 LoginAction.java代码如下:
ShowInfo.java代码如下:
上面我们已经把所需要的Actions写好啦。
3.剩下的就是配置文件啦,也就是struts.xml
代码片段如下:
<!-- 因为浏览者无法直接访问WEB-INF/ftl路径下的资源,所以我们在struts.xml文件中配置下面片段代码。
也就是配置了一个能匹配所有请求的Action,该Action被映射到一个动态Result.
-->
<action name="*">
<result type="freemarker">/WEB-INF/ftl/{1}.ftl</result>
</action>
<!-- define a LoginAction -->
<action name="Login" class="com.test.action.LoginAction">
<result name="error" type="freemarker">/WEB-INF/ftl/error.ftl</result>
<result name="success" type="freemarker">/WEB-INF/ftl/welcome.ftl</result>
</action>
<action name="GetBooks" class="com.test.action.GetBooksAction">
<result name="login" type="freemarker">/WEB-INF/ftl/login.ftl</result>
<result name="success" type="freemarker">/WEB-INF/ftl/showBook.ftl</result>
</action>
<action name="ShowInfo" class="com.test.action.ShowInfo">
<result name="login" type="freemarker">/WEB-INF/ftl/login.ftl</result>
<result name="success" type="freemarker">/WEB-INF/ftl/showinfo.ftl</result>
</action>
到现在为止,我们的示例已经全部写好啦,接焉就是我们要启动Tomcat,打开IE,在地址栏上输入:http://localhost:8080/struts2/login.action就可以看到该示例的效果。
上面虽然是一个很简单的示例,但用来入门应该算不错,希望大家继续加深对FreeMarker的认识。
JspSupportServlet org.apache.struts2.views.JspSupportServlet
1 3.在FreeMarker模板中使用assign指令导入标签库。代码如下 注:这里我把struts-tags.tld放在WEB-INF下面 4.现在我们可以在FreeMarker模板中使用标签了,示例代码如下: 虽然这样说明,相信我们还是一头雾水,下面我们将以一下简单的实例来指导大家真正会用FreeMarker. 下面是一个登录的示例: 1.在WEB-INF文件夹下面建立一个名为ftl的文件夹,其实就是FreeMarker容器,我们把所有的ftl文件都放在里面。 现在我们先在下面建立三个名字分别为login.ftl,welcome.ftl,showinfo.ftl的文件。 login.ftl代码如下 please input username and password login
welcome.ftl代码如下: WelCome,${username},you logined!
Show Information showinfo.ftl代码如下:
User Information
username:
${username}
sex:
${sex}
age:
${age}
2.从上面的ftl中我们可以看出,我们必须建立两个Action。 我是在com.test.action包下建立Action的。 LoginAction.java代码如下:
ShowInfo.java代码如下:
上面我们已经把所需要的Actions写好啦。
3.剩下的就是配置文件啦,也就是struts.xml
代码片段如下:
<!-- 因为浏览者无法直接访问WEB-INF/ftl路径下的资源,所以我们在struts.xml文件中配置下面片段代码。
也就是配置了一个能匹配所有请求的Action,该Action被映射到一个动态Result.
-->
<action name="*">
<result type="freemarker">/WEB-INF/ftl/{1}.ftl</result>
</action>
<!-- define a LoginAction -->
<action name="Login" class="com.test.action.LoginAction">
<result name="error" type="freemarker">/WEB-INF/ftl/error.ftl</result>
<result name="success" type="freemarker">/WEB-INF/ftl/welcome.ftl</result>
</action>
<action name="GetBooks" class="com.test.action.GetBooksAction">
<result name="login" type="freemarker">/WEB-INF/ftl/login.ftl</result>
<result name="success" type="freemarker">/WEB-INF/ftl/showBook.ftl</result>
</action>
<action name="ShowInfo" class="com.test.action.ShowInfo">
<result name="login" type="freemarker">/WEB-INF/ftl/login.ftl</result>
<result name="success" type="freemarker">/WEB-INF/ftl/showinfo.ftl</result>
</action>
到现在为止,我们的示例已经全部写好啦,接焉就是我们要启动Tomcat,打开IE,在地址栏上输入:http://localhost:8080/struts2/login.action就可以看到该示例的效果。
上面虽然是一个很简单的示例,但用来入门应该算不错,希望大家继续加深对FreeMarker的认识。
发表评论
-
struts2 token拦截器
2014-01-14 20:44 913之前struts2解决token必须在每个action配置 ... -
MyEclipse 9.0 安装freemarker编辑器
2012-12-12 18:08 828freemarker几天前才发布了2.3.17版本,5月21号 ... -
freemarker处理小数和整数共存的情况
2012-12-04 17:06 3262前几天在写程序的时候,利用的freemarker做的表示层。程 ... -
Freemarker中输出数字特别是Long型数字时格式带逗号问题
2012-12-03 10:08 1404Long i=100000000l; Map model ... -
FreeMarker 基础知识 表达式(引用)
2012-11-20 21:24 863表达式是FreeMarker的核心功能,FreeMarker中 ... -
freemarker 判断list记录大于0
2012-08-02 16:02 2768freemarker 判断list记录大于0 用<#if ... -
spring security的标签库
2011-11-07 16:35 7588应用标签库:<%@ taglib prefix='sec ... -
STRUTS2 Convention零配置
2011-11-04 15:53 716从struts2.1开始,struts2不再推荐使用Codeb ... -
Hibernate - DetachedCriteria 的完整用法
2011-11-04 15:33 850Hibernate - DetachedCriteria 的完 ... -
Hibernate二级缓存及产品Oscache
2011-11-04 15:19 1982二级缓存也称进程级的缓存或SessionFactory级的缓存 ... -
struts2的struts.properties配置文件详解
2011-11-04 14:40 840struts.action.extensionThe U ... -
JPA @MappedSuperclass注解的使用说明
2011-10-31 17:51 896基于代码复用和模型分离的思想,在项目开发中使用JPA的@Map ... -
freemarker的国际化
2011-10-27 10:58 970起首在servlet中加上加载资料文件的代码 Local ... -
net.sf.json的使用
2011-10-26 17:26 2177需要jar包:ezmorph-1.0.6.jar,json-l ... -
FreeMarker设计指南
2011-10-18 17:57 767(1)模板 + 数据模型 = 输出 FreeMarke ... -
Freemarker中遍历List实例
2011-10-18 13:12 7713Freemarker中如何遍历List ... -
freemarker中使用struts2标签
2011-10-15 16:01 9711.将系统所需的标签库定义文件(也就是tld文件)复制到web ... -
Freemarker源码解析
2011-10-10 17:21 1105FreeMarker 自定义模版文 ... -
实体 Bean 注解
2011-10-06 15:36 1373一、 实体 Bean 每个持久化POJO类都是一个实体Bea ... -
警告: No configuration found for the specified action: '/myNameSpace/login.action'
2011-10-06 09:01 1064警告信息:警告: No configuration found ...
相关推荐
将FreeMarker与Struts2结合使用,可以实现灵活且高效的视图层渲染。 ### 1. 配置环境 在开始配置之前,确保已安装了Struts2框架和FreeMarker库。通常,Struts2的依赖已经包含了FreeMarker,但为了确保版本兼容,...
在Struts2框架中,FreeMarker作为视图层的模板技术,接收来自控制器的数据并根据模板规则生成最终的响应页面。FreeMarker模板语言简洁,易于学习,允许开发者将逻辑与表现分离,提高代码可维护性。 项目实例中的...
- 如何在Struts中设定视图(FreeMarker模板)作为结果。 通过实践这个例子,你将能够掌握FreeMarker和Struts的基础知识,为构建更复杂的Java Web应用打下坚实基础。在实际应用中,还可以结合其他技术,如Spring、...
FreeMarker是一个模板引擎,常用于Web应用中的视图层,而Struts2是一个基于MVC设计模式的Java Web框架。这篇博客文章可能详细介绍了如何整合这两个技术来构建动态网页。 由于描述是“NULL”,我们无法获取更多的上...
Struts2作为MVC框架,协调请求处理和业务逻辑;而代码生成器则通过自动化的方式,帮助开发者快速搭建应用,减少重复劳动。这三者结合使用,能够在Java Web开发中形成高效的开发流程,提升项目的开发质量和效率。
在Struts2框架中,Freemarker可以作为视图层技术,用来渲染用户界面。创建Freemarker模板文件(.ftl),并将它们配置在Struts2的配置文件中,以便Struts2知道如何将Action的结果映射到特定的模板。 3. **Struts2**...
Struts2作为MVC(模型-视图-控制器)架构的一部分,主要处理HTTP请求并调度到相应的业务逻辑。在这个系统中,Struts2接收用户请求,调用Action类执行业务逻辑,然后通过Freemarker模板引擎将结果渲染成HTML页面返回...
2. **Struts2**: Struts2作为MVC框架,负责处理用户的HTTP请求,管理应用程序的流程。它提供了一系列拦截器(Interceptor)来扩展功能,比如验证、日志、事务管理等。Struts2使用Action类来处理业务逻辑,并通过配置...
2. **配置Struts2**:在Struts2的配置文件(通常为struts.xml)中,我们需要配置Freemarker作为视图解析器。通过添加`<constant name="struts.action.extension" value="html"/>`,让Struts2将Action的结果映射到....
在这个“struts2中jsp和freemarker模板视图的案例”中,我们将深入理解如何使用这两种不同的视图技术与Struts2框架进行集成。 首先,我们来看JSP(JavaServer Pages)作为视图的实现。JSP是Java中的动态网页技术,...
2. **配置Struts2**:在`struts.xml`配置文件中指定FreeMarker作为视图解析器。 3. **模板目录**:设置项目中的FreeMarker模板文件存放位置。 4. **Action返回值**:Action类的execute方法返回一个结果字符串,对应...
在Struts2框架中,FreeMarker常作为视图层的渲染工具,接收Action传递的数据并生成动态网页。 **Struts2** 是基于MVC设计模式的Java Web框架,它的核心是Action类,负责处理用户的请求并调用业务逻辑。Struts2提供...
2. **配置Struts2**:在`struts.xml`配置文件中,指定使用FreeMarker作为视图解析器。例如: ```xml <constant name="struts.views.freemarker.templateLoaderPath" value="/WEB-INF/classes/"/> ...
- 在`struts.xml`配置文件中,你需要指定Freemarker作为默认的视图技术,添加`<constant name="struts.views.freemarker.templateLoaderPath" value="/WEB-INF/classes/templates/"></constant>`来设置模板路径。...
将FreeMarker与Struts2.0结合,能够提供更灵活、高效的视图层解决方案。 在这个实例中,我们将深入探讨如何在MyEclipse环境下搭建一个基于FreeMarker和Struts2.0的Web项目,以及如何实现它们的集成。 1. **...
Struts2是一个强大的Java web应用程序框架,它提供了一种组织应用程序的方式,并且支持多种视图技术,其中之一就是FreeMarker模板。FreeMarker是一个基于模板的、声明式的语言,用于生成动态内容,尤其适合Web应用中...
Struts2的Action结果可以映射到Freemarker模板,使得数据模型可以直接传递给模板,简化了视图的构建。 3. **安装Freemarker模板文件插件**: - 开发者可以使用FreeMarkerIDE这样的Eclipse插件来增强Freemarker模板...
- 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,确保Struts2能够找到模板文件。例如: ```xml <constant name="struts.freemarker.templates...
1. **Struts2配置**:在Struts2的配置文件`struts.xml`中,指定FreeMarker作为视图解析器。这通常涉及到添加`<result-type>`配置,指定为`freemarker`类型。 2. **Action与模型绑定**:Struts2的Action类可以直接...