JSPSupportServlet---Struts2中使用FreeMarker
FreeMarker模板文件是由FTL(FreeMarker模板语言)编写的,而Struts2框架已经提供了非常完善的标签库,如果在 FreeMarker模板文件中使用FTL,需要开发者学习FTL指令规则,带来了不必要的麻烦。实际上,FreeMarker在Struts2框架内可 以使用Struts2框架提供的标签库。
在FreeMarker使用标签库之前,需要进行如下配置。
1.复制标签库文件
Struts2的标签库位于struts-core-x.x.x.jar文件中,在该压缩文件的META-INF目录下,有一个struts-tags.tld标签库文件,需要将该文件加压处理,保存到Web应用的/WEB-INF目录下。
2.配置JSPSupportServlet
要使用FreeMarker,还需要在web.xml文件配置FreeMarker,这样Web应用在启动时会自动加载该Servlet,代码如下所示:
<servlet>
<!-配置servlet->
<servlet-name>JSPSupportServlet</servelt-name>
<servlet-class
org.apache.struts2.views.JSPSupportServlet
</servlet-class>
</servlet>
3.导入标签库
为了使用Struts2框架的标签库,需要在FreeMarker模板文件中使用assign指令来导入标签库,该导入指令格式如下:
<!-使用assign指令导入标签库->
<#assign s=JSPTaglibs["/WEB-INF/sturts-tags.tld"]/>
经过上面3个步骤的配置,将可以在FreeMarker模板文件中使用Struts2标签库了。