- 浏览: 757272 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (396)
- JAVA (50)
- ORACLE (22)
- HIBERNATE (1)
- SPRING (26)
- STRUTS (4)
- OTHERS (0)
- MYSQL (11)
- Struts2 (16)
- JS (33)
- Tomcat (6)
- DWR (1)
- JQuery (26)
- JBoss (0)
- SQL SERVER (0)
- XML (10)
- 生活 (3)
- JSP (11)
- CSS (5)
- word (1)
- MyEclipse (7)
- JSTL (1)
- JEECMS (2)
- Freemarker (8)
- 页面特效 (1)
- EXT (2)
- Web前端 js库 (2)
- JSON http://www.json.org (3)
- 代码收集 (1)
- 电脑常识 (6)
- MD5加密 (0)
- Axis (0)
- Grails (1)
- 浏览器 (1)
- js调试工具 (1)
- WEB前端 (5)
- JDBC (2)
- PowerDesigner (1)
- OperaMasks (1)
- CMS (1)
- Java开源大全 (2)
- 分页 (28)
- Eclipse插件 (1)
- Proxool (1)
- Jad (1)
- Java反编译 (2)
- 报表 (6)
- JSON (14)
- FCKeditor (9)
- SVN (1)
- ACCESS (1)
- 正则表达式 (3)
- 数据库 (1)
- Flex (3)
- pinyin4j (2)
- IBATIS (3)
- probe (1)
- JSP & Servlet (1)
- 飞信 (0)
- AjaxSwing (0)
- AjaxSwing (0)
- Grid相关 (1)
- HTML (5)
- Guice (4)
- Warp framework (1)
- warp-persist (1)
- 服务器推送 (3)
- eclipse (1)
- JForum (5)
- 工具 (1)
- Python (1)
- Ruby (1)
- SVG (3)
- Joda-Time日期时间工具 (1)
- JDK (3)
- Pushlet (2)
- JSP & Servlet & FTP (1)
- FTP (6)
- 时间与效率 (4)
- 二维码 (1)
- 条码/二维码 (1)
最新评论
-
ctrlc:
你这是从web服务器上传到FTP服务器上的吧,能从用户电脑上上 ...
jsp 往 FTP 上传文件问题 -
annybz:
说的好抽象 为什么代码都有两遍。这个感觉没有第一篇 和第二篇 ...
Spring源代码解析(三):Spring JDBC -
annybz:
...
Spring源代码解析(一):IOC容器 -
jie_20:
你确定你有这样配置做过测试? 请不要转载一些自己没有测试的文档 ...
Spring2.0集成iReport报表技术概述 -
asd51731:
大哥,limit传-1时出错啊,怎么修改啊?
mysql limit 使用方法
Struts2与Freemarker的配置方法
2009-12-25 08:55
Freemarker是模板引擎,也可以说是一种表现层的框架,它有自己的模板指令,开发者如果不熟悉这些语法,很难进行表现层的开发。Struts2框架技术对Freemarker做了很好的支持,开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置方法。 本文所述开发环境为: Eclipse 3.3.2+ MyEclipse 6.0 +JDK 1.5 +Tomcat 6.0。
一、 安装开发Freemarker模板文件插件
Freemarker自身提供了一个编辑模板文件的Eclipse插件FreeMarkerIDE-1.0.0.GA.zip,该插件具有错误提示,与高亮显示等功能,您可以到 freemarker.sourceforge.net下载,也可通过Eclipse IDE 自带的功能完成相关插件的安装,插件更新地址为: www.freemarker.org/eclipse/update. ,插件具体安装配置过程请参考其他文献资料。
我看到很多网友对改插件的评价是褒贬不一样,本人认为还可以,所以介绍给大家。
你也可以使用其它插件,只要能帮助你开发Freemarker模板文件即可。
二、 配置工程开发环境
1. 新建Web工程freemarkerWeb
2. 到http://struts.apache.org, 下载struts-2.0.11.2-all.zip解压缩并导入开发所需相关jar包到lib目录下。Jar包:struts2-core- 2.0.11.2.jar,xwork-2.0.5.jar,ognl-2.6.11.jar,freemarker- 2.3.8.jar,commons-logging-1.0.4.jar
3. 解压缩struts2-core-2.0.11.2.jar复制META-INF/struts-tags.tld复制到工程WEB-INF目录下
4. 配置web.xml文件
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apacher.sturts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-parttern>/*</url-parttern>
</filter-mapping>
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>
org.apache.struts2.views.JspSupportServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
注意:要想在Freemarker中使用Struts2标签必须配置以上加粗部分代码到web.xml文件中。
5. 创建struts.xml文件
<struts>
<package name="struts" extends="struts-default">
<action name="userLogin" class="com.test.action.LoginAction" method="userLogin">
<result name="success" type="freemarker">
/WEB-INF/templates/user.ftl
</result>
</action>
</package>
</struts>
注意:
A:斜体字部分的代码是根据不同的应用而配置的,斜体部分的代码为freemarkerWeb应用的代码。
B:<reslutl>元素的type 属性必须设置为freemarker,这是因为Freemarker模板文件必须由Freemarker模板引擎来解析,而Struts2内部实现了 Freemarker模板引擎,但我们必须声明返回结果类型为freemarker才可以
至此Struts2与Freemarker的配置已经完成,可以进行开发了.
三、 完成Struts2与Freemarker的配置开发工程
创建LoginAction.java
……
private Log log=LogFactory.getLog(LoginAction.class);
private String username;
private String password;
/**
* 登录处理
* @return
* @throws Exception
*/
public String userLogin() throws Exception{
log.info("执行了登录方法userLogin()");
return SUCCESS;
}
省略相应(getter,setter方法)
…
创建登录页面index.jsp
<s:form action="userLogin">
登录名:<s:textfield name="username"/><br>
密码:<s:textfield name="password"/>
<s:submit value="登录" />
</s:form>
创建结果页面:user.ftl
<#--
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld "]>
-->
<html>
<body>
欢迎<@s.property value="username"/>登录!
</body>
</html>
注意:
A.以上注释中的内容可以去掉,因为Struts2默认引入该标签库
B. Struts2标签在JSP 页面中的写法与在Freemarker模板文件中的写法不同。Freemarker模板文件是以<@s.tag>开始,以</@s.tag>结束
JSP文件中是以<s:tag>开始 以</s:tag>结束。应用时<tag>替换为Struts2的标签名称。
好了,我们现在将freemarkerWeb工程部署到Tomcat6.0服务器上,访问http://loacalhost:8080/freemarkerWeb/index.jsp后输入用户名,密码,登录即可看到欢迎XX登录!
OK,大功告成!Struts2与Freemarker的配置开发工程就这样完成了。
最后,需要大家需要注意的是,Freemarker模板文件的处理,通过Web容器是无法直接处理的,因此不要让用户直接访问模板 文件。在开发过程中,我们可以将Freemarker文件直接放到Web工程的 WEB-INF目录或其子目录下,并在相应的struts-*.xml文件中配置type="freemarker" 来输出模板。
通过上面的讲解,希望能大家能对Struts2与Freemarker的配置方法有所了解及应用,不足之处请大家批评指正。
|
发表评论
-
Struts2中的日期控件和Tree控件
2010-05-25 11:51 1321日期控件 <head&g ... -
STRUTS2中的日期处理
2010-05-25 11:48 9641.Struts2中的日期的格式化: 附:<s:dat ... -
STRUTS2中的日期处理 以及日历控件
2010-05-25 11:45 33161.Struts2中的日期的格式化: 附:<s:dat ... -
struts2 counter循环标签的使用
2010-05-25 11:33 2391struts2随提供了循环控制标签<s ... -
struts2.0上传文件尺寸的解决-struts2.0
2010-05-25 11:32 1129近日在工作中一直使用Struts2.0,对它的了解也是逐渐的增 ... -
struts2.1 datetimepicker日期控件的使用
2010-05-25 10:55 3438官方参考文档:http://struts.apache.o ... -
struts2中iterator标签的相关使用
2010-03-17 18:20 1272... -
Struts2.1.6 与Spring2.5.6框架整合
2010-03-12 10:57 12601、在MyEclipse中新建项目(tes ... -
struts 2.0提高效率技巧
2010-01-22 18:06 1419本章所要介绍的是一 ... -
struts 2.0架构目标
2010-01-22 18:05 1039对于一个特定的代码库而言,要谈它的架构目标是很困难的。通常在开 ... -
struts 2.0核心组件
2010-01-22 17:57 1301从全局的角度来看 ,Str ... -
struts2 properties详解
2010-01-21 18:58 1539struts.action.extension T ... -
Unable to load configuration. Struts2.1.6
2010-01-21 13:38 2171Unable to load configuration. S ... -
struts2.0中struts.xml配置文件详解
2010-01-21 13:23 819<!DOCTYPE struts PUBLIC &quo ... -
Struts2中使用FreeMarker充当表现层
2010-01-15 20:10 1220Struts2中使用FreeMarker充当表现层 2008 ...
相关推荐
总结来说,Struts2与Freemarker的配置主要是围绕工程的环境搭建、Struts2的web.xml配置、struts.xml配置以及Freemarker模板的编写展开的。通过这种集成,开发者可以利用Struts2的强大控制逻辑和Freemarker的模板能力...
**Struts2与FreeMarker的整合** Struts2框架允许开发者选择不同的视图技术,FreeMarker就是其中一种。整合过程包括以下几个步骤: 1. **添加依赖**:在项目中添加FreeMarker和Struts2 FreeMarker插件的依赖。 2. **...
将Struts2与Freemarker结合使用,可以实现视图层的高效渲染,提供更灵活的页面设计。 在Struts2中整合Freemarker,主要涉及以下几个关键知识点: 1. **Freemarker模板语言**:Freemarker使用模板语言,由`<#...>`...
下面详细阐述Struts2与Freemarker的配置方法。 首先,要安装开发Freemarker模板文件的Eclipse插件FreeMarkerIDE。这个插件提供了错误提示和高亮显示的功能,可以在***网站上下载。安装插件的具体过程可以参考其他...
#### 配置Struts2与FreeMarker 在Struts2中使用FreeMarker之前,首先需要进行相应的配置。通常的做法是在项目的`struts.properties`文件中添加如下配置: ```properties struts.ui.theme=none struts.views....
当用户访问`/example.action`时,Struts2会调用`ExampleAction`的`execute`方法,设置模型数据,然后根据`struts.xml`中的配置,使用Freemarker渲染`example.ftl`模板。最终,浏览器接收到的是生成的XML文本。 ``...
**Struts2与FreeMarker的集成** 在Struts2中使用FreeMarker作为视图技术,需要进行以下步骤: 1. **配置依赖**:在项目的`pom.xml`或`build.gradle`文件中,添加FreeMarker的依赖库。 2. **配置Struts2**:在`...
**Struts2与FreeMarker整合**: 1. **视图渲染**:Struts2 Action执行完成后,可以通过配置将结果导向FreeMarker模板。例如,设置`<result type="freemarker">/WEB-INF/views/result.ftl</result>`。 2. **数据传递*...
1. **分离关注点**:通过Struts2处理业务逻辑和控制流程,Freemarker处理视图展示,实现了业务逻辑与表现层的分离,提高了代码的可维护性和可测试性。 2. **动态内容渲染**:Freemarker模板允许开发者根据数据动态...
Struts2、Hibernate和FreeMarker是Java开发领域中常见的三个开源框架,它们分别在MVC(Model-View-Controller)架构的不同层面发挥着关键作用。这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起...
Struts2和Freemarker是两个非常流行的Java Web开发框架,它们经常被一起使用来构建动态、交互式的Web应用程序。国际化(Internationalization,通常缩写为i18n)是软件开发中的一个重要概念,它允许应用程序支持不同...
**FreeMarker与Struts2的整合配置详解** FreeMarker是一个基于Java的模板引擎,它用于生成动态HTML、XML或其他格式的文本输出。Struts2是一个流行的MVC(模型-视图-控制器)框架,用于构建Java Web应用程序。将...
10. **Struts2与FreeMarker的集成**:如何在Action中设置模型数据,然后在FreeMarker模板中获取并显示这些数据。 11. **测试Struts2应用**:了解如何使用JUnit进行单元测试,以及Struts2提供的Mock对象进行集成测试...
在`struts.xml`配置文件中,定义一个action,比如`test`,并指定其结果类型为`freemarker`,这样当用户触发这个action时,Struts2会将控制权交给FreeMarker模板来渲染视图。例如: ```xml <result type="...
- 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,确保Struts2能够找到模板文件。例如: ```xml <constant name="struts.freemarker.templates...
**Struts2与Freemarker的整合:** 1. **视图层**:在Struts2中,Freemarker作为默认的视图技术,Action的结果可以直接映射到Freemarker模板文件。 2. **模板配置**:在struts.xml配置文件中,可以指定Action的结果...
**Struts2与FreeMarker的整合:** 1. **Action与模板**:在Struts2中,Action执行完成后,通常会返回一个模板(通常是FTL文件),FreeMarker会解析这个模板并结合数据模型生成HTML响应。 2. **结果类型配置**:在...
在实际开发中,这个项目可以帮助我们理解如何将Struts2的注解配置与FreeMarker模板结合起来,实现用户管理系统的功能。通过阅读源代码,我们可以深入学习Struts2的注解用法,以及如何利用FreeMarker模板设计美观、...
开发者通过编写Action类来处理用户的请求,并通过配置Struts2的XML配置文件来定义这些Action与URL的映射关系。它支持多种结果类型,如dispatcher(默认,用于转发到JSP页面)和stream(用于下载文件)。 2. **...