在eclipse中集成HTTL到Struts2

HTTL是什么?

HTTL (Hyper-Text Template Language) 是一个高性能的开源JAVA模板引擎, 适用于动态HTML页面输出, 可替代JSP页面, 指令和Velocity相似。


HTTL官网:

http://httl.github.io/zh/


这里介绍的背景是基于Struts2和HTTL开发一个J2EE简单示例:其中后台逻辑代码用Struts2,前台动态展示页面用HTTL。


言归正传:

集成HTTL到项目中,需要:

1、现在到HTTL官网下载两个jar包:

(1)HTTL核心包httl-1.0.11.jar,版本可以根据自己的需要下载。

(2)Struts集成包http-struts-1.0.11.jar

这里需要说明的千万不要以为只下载一个http-struts-1.0.11.jar集成到工程中就行了,其实http-struts-1.0.11.jar中内容很简单,只包含一个Struts result type=httl的模板解释引擎和一个struts-plugin.xml。其实该包只定义并实现了一种Struts2结果类型,其中并不包含HTTL核心包。


2、把HTTL属性文件httl.properties放置在WEB-INF目录下。

我的属性文件内容如下:

import.packages+=domain
template.directory=
message.basename=/WEB-INF/messages
input.encoding=UTF-8
output.encoding=UTF-8
这里需要说明的是需要配置import.packages属性,官网解释为“领域模型包导入”,也即是各种Java bean所在的包。


附:

1、eclipse集成Struts2:参见文章http://blog.csdn.net/tterminator/article/details/45423003

2、集成HTTL相关包到工程中时,需要使用二进制包,而不是源代码包,即包含*.class的jar包,而不是*.Java的jar包。

3、当未引入HTTL核心包时,启动tomcat部署文件不会出现任何异常,但在访问时会出现异常java.lang.ClassNotFoundException: httl.web.WebEngine:

严重: Servlet.service() for servlet default threw exception
java.lang.ClassNotFoundException: httl.web.WebEngine
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	at httl.web.struts.HttlResult.doExecute(HttlResult.java:46)
	at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:188)
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273)
	at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
	at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
	at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值