从上周就开始试着练习使用Struts2的类型转换,MD全部写完了,居然在提交页面请求之后,狂报No action and result defined 错误,检查了好几遍都没有看到问题出在哪里。今天又上网去搜索答案,一帮P民不知道说的是啥。最后看到一句经典,Struts2从2.1.8版本开始,在配置相应的package时,必须指定namespace,否则就会出现这样的错误!这下是记住了,郁闷了好久的问题原来是这样的!!
另外,类型转换初步学习总结如下:
相应的类型转换类:
今天最重要的就是关于namespace的问题了,以后一定要注意!!!
奋斗!
另外,类型转换初步学习总结如下:
局部转换的属性配置文件命名规范:
ConversionAction-conversion.properties
其中的值:
action中的属性名 = 该属性对应的类的类型转换类(包名+类名)
注意:该转换器配置文件必须位于某个需要被转换的属性所在Action的包下!!
相应的类型转换类:
继承DefaultTypeConverter,然后去重写converterValue方法,根据Class类型参数判断是从什么转换为什么?是客户端到服务器端还是服务器端到客户端?然后编写自定义的转换方法实现。
今天最重要的就是关于namespace的问题了,以后一定要注意!!!
基于局部转换的局限性,提出了全局转换,全局转换属性配置文件如下:
xwork-conversion.properties
被转换的类类型全名 = 该自定义类型的自定义类型转换器位置(包名+类名全路径)
奋斗!