类转换器

如我们通过在action定义user,然后user.name,user.password方式设置user信息,但是可以转类型为user,这就是转换器。
是通过OGNL来实现的。有一个TypeConverter借口。实际上刻意直接通过实现DefaultTypeConverter来实现,更方便。所有参数都是Object value参数,转成String[]就可以了。例子刻意查看李刚写的struts2权威指南--基于webwork核心的mvc开发。

定以后,需要注册,三种方式,部分注册,全局注册,注释方式注册。

局部注册需要一个文件,名字规则是ActionName-conversion.properties,actionname是需要转换器生效的action类名(注意是类名不是action名字)。文件内容为propertyName=类型转换器完整类名。和action放在同一个地方。

全局注册需要一个xwork-conversion.properties,文件内容
model类的完整类名=转换器类名,可有多个。如
com.test.User=com.test.con.UserConverter
那么所有action中定义了user类型的属性,当通过user.name(这里的user是一个属性名,它是根据类型,而不是名字来的,也就是说你可能定义的User类型属性是customer,也会被处理)类似方式传递,那么就会被这个转换器处理。

你可能感兴趣的:(mvc,Webwork)