欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

struts2标签库使用小结

程序员文章站 2022-04-15 13:05:40
之前的demo中用了一些struts2标签,用的是struts2.2.1.1. Struts2的标签常常和OGNL(图对象导航语言)一起使用。有几点总结如下: 1、struts...

之前的demo中用了一些struts2标签,用的是struts2.2.1.1.

Struts2的标签常常和OGNL(图对象导航语言)一起使用。有几点总结如下:

1、struts2标签必须的jar包
struts2标签可以分为数据标签、控制标签、表单标签、AJAX标签等几类,要使用这些标签必须加入web工程的jar包有:

commons-codec-1.6.jar


commons-fileupload-1.2.1.jar


commons-io-1.3.2.jar


commons-logging-1.1.1.jar


freemarker-2.3.16.jar


ognl-3.0.jar


struts2-core-2.2.1.1.jar

struts2-dojo-plugin-2.2.1.1.jar

xwork-core-2.2.1.1.jar

其中的struts2-dojo-plugin-2.2.1.1.jar包含了struts2 ajax主题的模板,其他都是struts2.2必须的jar包

2、struts2标签与过滤器
只有经过strtus2核心过滤器过滤的请求所请求的资源(jsp或action的视图)中才能使用struts2标签。所以如果要在一个不作为action返回视图的jsp页面中使用struts2标签的话,就必须配置web.xml,使得struts2过滤器对所有的请求都有效:


[html]
<filter-mapping> 
  <filter-name>struts2</filter-name> 
  <url-pattern>/*</url-pattern> 
</filter-mapping> 

  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>3、ajax标签

如果使用ajax标签,除了在jsp页面开头引用struts标签库:

<%@taglib prefix="s" uri="/struts-tags"%>

之外,还需要在页面的head中加入

<s:head theme="ajax" />(之后的ajax标签用s前缀)

或者在页面的开头加入对dojo标签库的引用

<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>(之后页面中的ajax标签用sx前缀)

4、struts2标签库的局限
struts2标签库不是万能的,比如想在一个form中使用多个不同名的combobox标签就很难做到,必要之时还是得自己写js实现