前言:Struts2标签可分三类:UI标签,非UI标签和Ajax标签!其中UI标签又可以分为表单标签和非表单标签!
本文主要简单介绍常用非UI标签,UI可以用前端框架(比如bootstrap)来做!
UI标签:生成HTML元素的标签
非UI标签:主要用于数据访问和逻辑控制
Ajax标签:用于ajax支持的标签
表单标签:生成html页面的form元素,以及普通表单元素的标签
非表单标签:生成页面上的树,tab页等标签
非UI标签之控制标签:
△if/elseif/else标签(进行分支控制,根据boolean表达式的值,来决定是否计算,输出标签体的内容)
语法格式:
△iterator标签(对集合【List Set Map】进行迭代)
若没有指定迭代哪个集合,直接迭代ValueStack顶端的集合
△append标签(用于将多个集合对象拼接起来)
它的var属性【可选属性】指定将拼接生成的新集合以该名称放入Stack Context【访问它里面的数据需要加#】中
△geneter标签(将指定字符串按指定分隔符分成多个字符串,生成的集合位于ValueStack【访问它里面的数据不需要加#】的顶端,有点类似于String对象的split()方法)
它的var属性【可选属性】将生成的Iterator对象以该名称放入StackContext中
△merge标签(像append标签,用于将多个集合拼接成一个集合,但是拼接方式和append的拼接方式不同)
△subset标签(用于取得集合的子集)
它的var属性,将生成的Iterator对象设置成page范围的属性!
△sort标签(对指定的集合元素进行排序,排序时必须提供自己的排序规则【定义一个类实现Comparator接口】)
它的var属性【可选属性】将生成的Iterator对象以该名称放入StackContext中
非UI标签之数据标签:
△action标签(允许在jsp页面中直接调用action)
它的var属性【可选属性】将Action放入ValueStack中
△bean标签(用于创建一个JavaBean实例)
创建javaBean实例的时候,使用param标签为javabean实例传入属性
它的var属性【可选属性】将该JavaBean实例以var指定的名称放入StackContext中
△date标签(用于格式化输出一个日期)
它的var属性【可选属性】一旦指定,该事件对象将被放入ValueStack中
△i18n标签(用于在视图页面上加载国际化资源文件)
△include标签(用于将一个JSP页面或者一个servlet包含到本页面中)
△param标签(主要用于为其他标签提供参数)
△property标签(主要用于输出指定值)
△push标签(主要用于将某个值放到ValueStack的顶端,值通过property来访问)
△set标签(主要用于将某个值放到指定范围内)
scope属性【可选属性】指定新变量被放置的范围,属性可以接受application,session,request,page,action5个属性,属性的默认值是action!
△text标签(主要用于输出指定的国际化消不常用)
△url标签(主要用于生成一个URL地址,不常用)