注解使用
导包
@ParentPackage
@Namespace
@Action()默认action名称默认动态配置没打开,手动配置
在struts.xml中添加
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
在struts2-core-2.3.31.jar--->org.apache.struts2--->default.properties找【struts.enable.DynamicMethodInvocation = false】然后进行相应的修改
- 修改xml和java文件
- Action的java文件中配置的注解不要用一个value,否则后面会覆盖
- 在每个方法前面写@Action注解
- 对应jsp进行action的修改
代码举例
java代码
@ParentPackage("struts-default")
@Namespace("/users")
@Results({@Result(name="query",type="chain",params={"actionName","query"})})
类型转换
- 应用场景,如:日期的自定义
- 实现TypeConverter
- 配置 .properties文件,命名要规范(类名-conversion.properties)
- 提交录入是执行/显示数据时执行
实际应用
- 继承StrutsTypeConverter
- 在重写的两个方法中分别对应表单提交和查询表示
- 提交表单的方法中可以针对提交的内容进行封装
@Override
public Object convertFromString(Map context, String[] params, Class toClass) {
return null;
}
//从Object转为String——显示数据的时候执行此方法
@Override
public String convertToString(Map context, Object obj) {
return null;
}
全局配置xwork-conversion.properties里面可以配置全局的类型转换。放在包的根目录下
```
java.sql.Date=com.ben.struts.converter.DateConverter
```
一般的放在包路径下
国际化
- struts.xml中配置标签
- 配合标签使用
- 设置.properties,注意前面的_zh_CN等标志