java struts2入门学习---中文验证、对错误消息的分离、结果(result)类型细节配置(二)

2014-11-24 03:00:32 · 作者: · 浏览: 1
到addFieldError()方法中。
最后,通过struts的标签将错误提示信息显示输出到浏览器中。
总结,对中文的验证主要是采用正则表达式,即使用unicode编码汉字的范围;对错误信息的分离抽取主要使用properties文件进行配置,然后再通过struts标签进行错误信息的输出,这里同时也用到了上篇文章的国际化的知识.
四、结果(result)类型
一般情况下,当Action中的execute方法的返回值为null时不需要配置下的标签,但如果有返回值时则需要将result标签进行配置.
在struts2-core.jar包里有struts-default.xml默认配置文件,其中有这样一段:
View Code
关于result-types,即结果类型,其中经常用到的有dispatcher,redirect,然后class有其对应的类来实现所配置的功能.这里来简单介绍下redirectAction:
选中类路径,eclipse中ctrl+shift+t能跳转到对应的实现类,查看一下 源码,其中可选属性有actionName,namespace,method,下面以实例来说明其使用方法.
redirectAction从名字上理解为重定向action,重定向时 浏览器中的路径是会发生变化的.这里要实现的需求为:从一个FromAction重定向到另一个ToAction
1.具体代码为:
FromAction.java
复制代码
package result;
import com.opensymphony.xwork2.ActionSupport;
public class FromAction extends ActionSupport{
private static final long serialVersionUID = -3310226638999302819L;
public String execute() throws Exception {
return "gotoAction";
}
}
复制代码
ToAction.java
复制代码
package result;
import com.opensymphony.xwork2.ActionSupport;
public class ToAction extends ActionSupport{
private static final long serialVersionUID = 6648927017489122451L;
public String execute() throws Exception {
return null;
}
}
复制代码
result_struts.xml
复制代码
< xml version="1.0" encoding="UTF-8" >
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
/WEB-INF/result_success. jsp
result.jsp
ToAction
复制代码
2.代码分析
其中result中的主要实现代码为:
ToAction
gotoAction为FromAction中execute方法的return value值.
redirectAction为result的类型值
actionName为参数名称,这里与源码中定义的参数名称一致
ToAction为将要重定向到另外一个Action的名称.
还可以配置namespace,method等,这里就不再介绍.
3.效果
1)输入FromAction,回车
2)url跳转到ToAction
4.result配置提高
1).如果一个package中多个action标签出现同样的return value="success",如果每个都配置一遍就太过麻烦,这里以上面例子为基础将ToAction的return null 改为 return SUCCESS后,配置文件也跟着改,配置一个返回值为success的全局result:
/WEB-INF/success.jsp
将全局result转发到success.jsp中.
2).相对应的还有局部的result:
/WEB-INF/part_success.jsp