标签都支持动态数据访问,属性都可以使用OGNL表达式。对于字符串类型的属性,如果要访问动态数据,需要使用%{……}。如果是object类型,而想直接指定字符串数据,就需要使用OGNL中字符串常量,即用单引号或双引号将字符串括起来。
可以统一使用%{…}的方式。如字符常量就%{‘…’}。
1. property标签
用于输出值栈中对象的属性,使用value属性来指定输出的对象,如果没有指定value,默认输出栈顶对象。
default:如果value值为null,使用这个值。
escape:是否转义输出内容中的html,默认为true。
value:默认值为栈顶对象。
escapeJavaScript:转义输出的JavaScript,默认为false。
2. set标签
将一个指定值赋给指定范围内的变量。
var: 变量的名字。
value:指定一个表达式。如果没有指定,默认值为栈顶。
scope:变量范围:page,request,session,application,action。默认为action。
3. push标签
用于把一个值压入值栈(位于栈顶),和set的区别是set将值放入Action上下文中。当push标签结束后,放入值栈的对象将被删除。要访问push标签压入的对象,要在push标签内部访问。
value:object类型,必须设定。
4. param标签
用做其他标签的子标签,为其他标签提供参数,如bean,include。
name:String,参数名称。
value:Object,参数值。
5. bean标签
用于实例化一个JavaBean对象,必须遵循JavaBean规范。可包含多个param标签,用于设置属性。如果指定var属性,将放入ActionContext中。如果没有指定,先压入栈顶,标签结束后删除。
name:Object,要实例化对象的完整类名。
var:指定一个在ActionContext的名称。
6. action标签
可以在jsp页面中直接调用action,如果将标签的executeResult属性设置为true,那么action对应的结果也将被包含到页面中。可嵌套多个param标签。
name:String,要执行的action的名字。
namespace:String,命名空间。默认当前页所在空间。
var:action的引用名称,指定则被放入ActionContext。
executeResult:Boolean,是否执行对应的result。默认false
ignoreContextParams :Boolean,当action被调用的时候,请求参数是否传入action。默认false
flush:Boolean,标签结束时,输出结果是否应该被刷新。默认true。
7. include标签
类似于jsp的<jsp:include>标签,用于包含一个jsp或servlet。可以用param传参数。
value:String,页面地址。
8. url标签
用于创建一个url,标签内可以使用param提供附加参数,param的值可以是数组。
action:String,指定用于生成url的aciton,如果没有使用该属性,则使用value属性给出的值生成url。
value:String,指定用于生成url的地址值,如果没有该属性,则使用action属性给出的值生成url。(优先于action)。
anchor:String,指定url锚点。
encode:Boolean,指定是否编码生成的url,默认为true。
escapeame:Boolean,指定是否将&号转义为&
var:String,如果指定该属性,url将不会输出,而是保存到了ActionContext中。
includeContext:Boolean,指定是否将当前应用程序的上下文包含到url中,默认为true。
includeParams:String,指定是否包含请求参数,可选值none,get,all,默认为get。
method:String,指定使用的action方法。
namespace:String,指定action所属的名称空间。
scheme:指定url使用的协议,http或https。
forceAddSchemeHostAndPort:Boolean,指定是否强制添加scheme,主机和端口。
9. i18n和text标签
用于国际化标签。不常用。
10.date标签
用于格式化输出日期,或输出当前日期值与指定日期值之间的时差。
var:String,如果指定该属性,则不会输出,保存到ActionContext中。
name:要格式化的日期值,必须为java.util.Date的实例。
format:指定日期样式。
nice:指定是否输出当前日期与给定的日期值之间的时差。为true时,format属性失效。
11. debug标签
用于调试。