- 浏览: 650046 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (144)
- grails (2)
- jboss (2)
- html5 (2)
- maven (9)
- mysql (9)
- android (13)
- java (39)
- javascript (16)
- flex (3)
- oracle (7)
- ubuntu (5)
- tomcat (1)
- ssh (1)
- iphone (0)
- eclipse (5)
- jquery (4)
- web (7)
- ibatis (7)
- dwr (5)
- hibernate (1)
- ws (0)
- freemarker (4)
- css (2)
- webservice (1)
- html (2)
- jsp (4)
- os (5)
- xp (4)
- cpu (2)
- sql (5)
- db (2)
- 数据库 (5)
- log4j.properties (1)
- date (1)
- map (1)
- log4j (1)
- java spring dwr (1)
- (2)
- xml (4)
- ajax (3)
- servlet (1)
- xmlhttp (1)
- linux (2)
- socket (2)
- java,多线程 (1)
- android,java,os (1)
- Android,java (2)
- spring (1)
- java,dwr (1)
- js (2)
- 回调 (1)
- java,event (1)
- java ,注解, (1)
- avd (1)
- sdk (1)
- maven,java,xml,nexus (1)
- java,maven,nexus (1)
- Maven,Android,i-jetty,java (1)
- web js 参数 (1)
- java mac os (1)
- mac os (2)
- mac (1)
- 环境 (1)
- 搭建 (1)
- adt (1)
- adb (1)
- iOS (1)
最新评论
-
lhs472194266:
可以 X-Forwarded-For 可以轻易的被伪造
Java获取IP地址:request.getRemoteAddr()警惕 -
Nabulio:
图片全部加载不出来
maven 建立本地仓库 -
wahaha603:
...
Properties的相对路径以及文件的读取操作 -
一别梦心:
图片没了,楼主补充一下吧
maven 建立本地仓库 -
a_jie1981:
a_jie1981 写道试试http://www.findma ...
maven 建立本地仓库
一、 FreeMarker简介
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。
所谓模板,就是一份已经写好了基本内容,有着固定格式的文档,其中空出或者用占位符标识的内容,由使用者来填充,不同的使用者给出的数据是不同的。在模板中的占位符,在模板运行时,由模板引擎来解析模板,并采用动态数据替换占位符部分的内容。
FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 文等。
二、 FreeMarker的优点和缺点
(一) FreeMarker的优点
1.使用FreeMarker的优点之一,可以彻底的分离表现层和业务逻辑。
使用JSP 开发过程中在页面中大量的存在业务逻辑的代码,使得页面内容凌乱,在后期大量的修改维护过程中就变得非常困难。
FreeMarker根本不支持Java脚本代码。
FreeMarker的原理就是:模板+数据模型=输出 ,模板只负责数据在页面中的表现,不涉及任何的逻辑代码,而所有的逻辑都是由数据模型来处理的。用户最终看到的输出是模板和数据模型合并后创建的。
2.使用FreeMarker的优点之二,可以提高开发效率。
在我们以往的开发中,使用的都是JSP 页面来展示数据的,即所谓的表现层。我们都知道,JSP在第一次执行的时候需要转换成Servlet类,开发阶段进行功能调适时,需要频繁的修改JSP,每次修改都要编译和转换,那么试想一天中我们浪费在程序编译的时间有多少。相对于JSP来说,FreeMarker模板技术不存在编译和转换的问题,所以就不会存在上述问题。而且开发过程中,我们在不必在等待界面设计开发人员完成页面原形后,我们再来开发程序。
3.使用FreeMarker的优点之三,使得开发过程中的人员分工更加明确。
以往用JSP展现数据时,作为程序员的我们,并不熟悉界面设计技术,反之界面开发人员,也并不熟悉程序语言。对两者而言,交替性的工作本身就有难度。有时候稍有不慎,可能会将某个页面元素删除或去掉了某个程序符号,使得页面走样或程序错误,这样就需要双方相互沟通协作,解决出现的问题。有时候因为项目中的时间,任务量等因素的存在,可能这个工作就由一个人来完成,这样就可能加大某一方开发人员的工作量。
使用FreeMarker后,作为界面开发人员,只专心创建HTML文件、图像以及Web页面的其他可视化方面,不用理会数据;而程序开发人员则专注于系统实现,负责为页面准备要显示的数据。
(二)FreeMarker的缺点
1.使用FreeMarker的缺点之一,应用FreeMarker模板技术,在修改模板后,可能会看到已经过期的数据。如:生成静态的HTML页面后,如果一旦模板改变,而没有及时更新模板生成的HTML页面的话,用户看到的就是过期的数据。
2.使用FreeMarker的缺点之二,FreeMarker模板技术在应用过程中,FreeMarker中的变量必须要赋值,如果不赋值,那么就会抛出异常。想避免错误就要应用if/elseif/else 指令进行判段,如果对每一个变量都判断的话,那么则反而增加了编程的麻烦。
3.使用FreeMarker的缺点之三,FreeMarker的map限定key必须是string,其他数据类型无法操作
4.使用FreeMarker的缺点之四,FreeMarker不支持集群应用。为了编成的方便性,把序列化的东西都放到了Session中,如Session,request等,在开发的过程中确实方便,但如果将应用放到集群中,就会出现错误。
通过以上的阐述,希望可以令您清晰FreeMarker的优点和缺点,旨在抛砖引玉。有什么问题可以留下您的宝贵留言,我非常愿意与大家讨论。
发表评论
-
android wifi 无线调试
2012-06-17 17:24 4401数据线丢了,不想花钱去买,在网上看了看,android手机 ... -
adb server is out of date. killing...
2012-06-17 17:20 8025在cmd窗口输入adb shell 或 adb connect ... -
JAVA 回调
2012-06-12 11:35 917熟悉MS-Windows和X Windows ... -
Class is not accessible due to restriction on required library
2012-06-03 12:13 989How to solve This error messag ... -
Column 'id' in field list is ambiguous
2012-04-23 18:20 7645Column 'id' in field list is am ... -
java.util.ConcurrentModificationException
2012-04-01 16:24 0工作中碰到个ConcurrentModificationExc ... -
在Spring框架下获取Bean的方式总结
2012-04-01 16:23 0众所周知,Spring框架将D ... -
普通Java类获取Spring的Bean的方法
2012-04-01 16:18 1307在SSH集成的前提下。某 ... -
android 调用系统图片浏览器并返回图片路径
2012-04-01 15:56 2514调用系统图片浏览器的方法如下: Intent intent ... -
网络编程中Nagle算法和Delayed ACK的测试
2012-03-31 16:43 1408Nagle算法 的立意是良 ... -
ibatis的remapResults属性合理运用
2012-03-31 15:51 1473Proper Usage of remapResults=&q ... -
response.setHeader()下载中文文件名的设置
2012-03-31 15:44 103921. HTTP消息头 (1)通用信息头 即能用于请求消息中 ... -
判断当前操作系统是不是window
2012-03-19 09:08 1586/** * 判断当前操作系统是不是window * * ... -
freemarker数字格式化
2012-03-17 16:53 3040freemarker在解析数据格式的时候,自动默认将数字按3为 ... -
数据库时客户端提示 Cannot proceed because system tables used by Event Scheduler
2012-02-29 21:13 9866在打开数据库或者用数据库管理工具(Navicat)时客户端提示 ... -
Socket用法详解
2012-02-22 16:49 1124一、构造Socket Socket的构造方法有以下几种重 ... -
在任意位置获取应用程序Context
2012-02-16 10:53 1020Android程序中访问资源时需要提供Context,一般来说 ... -
JAVA进程CPU占用率分析方法
2012-02-13 17:05 35721: 首先把JDK Linux版本上传到服务器上.2: 使 ... -
MYSQL索引优化和in or替换为union all
2012-02-07 17:08 1258使用UNION ALL代替OR,这不是绝对的。具体什么时候选择 ... -
操作cookies
2012-02-06 23:08 1013一直不是很明白有关客户端cookies的相关内容,只是觉得它可 ...
相关推荐
**FreeMarker的缺点** 1. **学习曲线**:虽然FreeMarker语法相对简单,但对新手来说仍需要一定时间去学习和适应。 2. **调试困难**:相比于IDE中的Java代码调试,模板的调试通常较为不便,需要借助日志或特殊工具...
### jsp、freemarker、velocity简介和对比 在Java Web开发领域,模板引擎是连接后端业务逻辑与前端展示层的重要桥梁。本文将重点介绍三种常用的Java Web模板引擎:JSP(Java Server Pages)、Freemarker以及...
`FreeMarker的优点和缺点.mht`详细列出了这些优点。 - **缺点**:虽然FreeMarker在很多方面表现出色,但可能对新手不够友好,学习曲线较陡峭,错误处理机制相对简单,有时调试较困难。 4. **FreeMarker的扩展性**...
1. **分离表现层与业务逻辑**:FreeMarker 不支持 Java 脚本代码,因此可以彻底地分离表现层和业务逻辑。 2. **提高开发效率**:在开发过程中,界面设计师和开发人员可以并行工作,无需等待页面原型完成后再开始编码...
- **优点**:FreeMarker是纯文本模板语言,不包含任何程序逻辑,使得模板易于编写和维护;与Java代码分离,有利于前后端职责划分;性能优秀,渲染速度快。 - **缺点**:学习曲线较陡峭,尤其是对于非开发人员;...
本教程将带你深入理解FreeMarker的核心概念和使用方法。 1. **FreeMarker的基本原理** FreeMarker的工作方式是通过读取由开发者编写的模板文件(.ftl),然后结合数据模型,生成最终的输出。模板文件主要包含静态...
FreeMarker的优点很多,比如它独立于Servlet,可以在没有Web服务器的情况下使用。它专注于展示层的生成,与主流Web框架如struts2、springmvc集成良好,使得开发更为简单易学。同时,它支持多种方式加载模板,例如从...
Freemarker是一个强大的模板引擎,常用于Java应用中的视图层开发,比如Web应用和电子邮件生成。它是一种声明式编程语言,允许开发者用简单的文本模板来动态生成HTML、XML或其他格式的文档。在这个“freemarker学习”...
FreeMarker与JSP和Velocity相比,具有以下优点: 1. 不允许在模板中编写Java代码,从而实现了严格的MVC分离。 2. 有助于实现美工和技术人员的工作分离,提高开发效率。 3. 页面是静态化的,有利于搜索引擎的收录。 4...
这些框架都是 Java 语言中常用的框架,各有其优缺点和应用场景。 MVC 框架的优点: 1. 分层有助于管理复杂的应用程序,可以在一个时间内专门关注一个方面。 2. 让应用程序的测试更加容易。 3. 也简化了分组开发。...
优点: Java EE标准,这意味着有很大的市场需求和更多的工作机会 上手快速并且相对容易 有大量可用的组件库 缺点: 大量的JSP标签 对REST和安全支持不好 没有一个统一的实现。既有SUN的实现,又有Apache的实现——...
其优点在于解耦合、易测试和强大的事务管理。然而,Spring的配置文件可能较为复杂,对于初学者来说有一定学习曲线。 总的来说,三大框架各有特点,Struts1和Struts2在MVC模式上有所不同,Spring则提供了更广泛的...
- **缺点**:需要编写Freemarker或Velocity模板,打造HTML结构,对前端技术有一定要求。 综上所述,选择JAVA动态生成Word和PDF的技术时,应根据项目具体需求、团队技能、跨平台需求等因素综合考虑。对于Word文档,...
在Java领域,有许多流行的框架可供选择,每种框架都有其独特的优点和缺点。以下是关于JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket的详细比较: 1. **JavaServer Faces (JSF)** - **优点**:作为Java EE...
- 能无缝集成多种视图选项,如JSP/JSTL、Tiles、Velocity、FreeMarker,甚至Excel和PDF,提供了高度的灵活性。 - 基于IoC(Inversion of Control)的设计使其易于测试。 - 缺点: - 配置密集型,需要大量的XML...
JAVA 动态生成Word和PDF JAVA动态生成Word和PDF是JAVA开发中的一种常见需求,这里将详细介绍JAVA动态...JAVA动态生成Word和PDF有多种方案可以选择,每种方案都有其优缺点,选择哪种方案取决于具体的需求和项目要求。
Struts1的优点包括开源、结构清晰、支持异常处理和国际化、拥有丰富的标签库,解决了JSP中Java代码过多的问题。然而,它的缺点也很明显,如配置复杂、测试不便、依赖Web容器,且Action是单例模式,需要处理线程安全...
描述:本文将对Java Web开发中的主流框架进行比较,包括Struts、Spring MVC、WebWork、Tapestry和JSF,分析各自的优缺点,以帮助开发者选择最适合项目需求的框架。 ### Struts #### 优点: - **标准框架**:在业界...
- **优势**:提供更丰富的插件支持,如FreeMarker和Velocity模板引擎,支持AJAX和RESTful API,性能优于Struts 1。 - **改进**:引入了FilterDispatcher,处理HTTP请求更高效,解决了Struts 1中的Action实例创建...