<!-- input表示验证失败后,转发到的页面 -->
            <result name="input" type="dispatcher">
                /login.jsp
            </result>

这里返回“scuuess”之后会进行页面的跳转,/login.jsp,/指的是跳转到webcontent文件夹下的页面,如果要跳转到web-inf下面的页面可以这样写:/web-inf/*.jsp

 

2.验证validation

http://blog.sina.com.cn/s/blog_57554ed50100e81l.html

    (4)基于XML文件的声明式数据格式验证开发步骤
    
    (5)验证Action类中的【所有】业务方法
     编程式:validate()
     声明式:Action的类名-validation.xml文件,与Action类名在同一个目录下

    (6)验证Action类中的【某个】业务方式
     编程式:validateXxx()
     声明式:Action的类名-<action标签的name属性>-validation.xml文件,与Action类名在同一个目录下
    
     先执行Action类名-validation.xml
     后执行Action类名-<actions标签的name属性>-validation.xml,【项目中提倡】

  如果某个验证文件名称不正确,框架不会采用该文件的检验规则    
     如果某个验证文件名称正确,但内容出错,框架不会规则出错的字段,其它字段依然有效    
    
     所有的验证文件不是应用启动时加载,而是点击请求时,临时查询检证文件
     检证文件一旦有变化,一定要重新部署才有效。
     验证规则的大写写敏感

 

 

struts2的method="{1}"

 

这里的{1}表示接收前面action里通过通配符传来的值,例如你配置的是<action name="*Crud" class="example.Crud" method="{1}"> ,然后调用***/editCrud.action,
则method里获得的值是edit,将会调用这个action里面的 edit方法

附:
Action中的方法通配符

有些时候对Action中方法的调用满足一定的规律,例如edit Action对应edit方法,delete Action对应 delete方法,这个时候我们可以使用方法通配符,例如:
<action name="*Crud" class="example.Crud" method="{1}"> 这时,editCrud Action的引用将调用edit方法,同理,deleteCrud Action的引用将调用delete 方法。

另外一种比较常用的方式是使用下划线分割,例如:
<action name="Crud_*" class="example.Crud" method="{1}">
这样当遇到如下调用的时候可以找到对应的方法。
"action=Crud_input" => input方法
"action=Crud_delete" => delete方法