在eclipse中集成HTTL到Struts2

HTTL是什么?

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

HTTL官网:

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

言归正传:

集成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+=domaintemplate.directory=message.basename=/WEB-INF/messagesinput.encoding=UTF-8output.encoding=UTF-8这里需要说明的是需要配置import.packages属性,官网解释为“领域模型包导入”,也即是各种Java bean所在的包。

附:

1、eclipse集成Struts2:参见文章

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

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

严重: Servlet.service() for servlet default threw exceptionjava.lang.ClassNotFoundException: httl.web.WebEngineat 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)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

没有伞的孩子必须努力奔跑!

在eclipse中集成HTTL到Struts2

相关文章:

你感兴趣的文章:

标签云: