Struts2-ActionSupport和result节点和通配符映射

来源:互联网 发布:windows photo viewer 编辑:程序博客网 时间:2024/06/05 15:35

  昨天我们详细讲了一下Action类的内容,今天我们来说一说Struts的默认处理类、通配符映射、result节点和OGNL语言。

  1.ActionSupport

  当我们在action节点上不明确指出class属性的时候,Struts框架默认的处理这个action请求的Action类就是ActionSupport类,这个默认类在struts-default.xml中进行了明确的说明为默认类。这个类中处理action请求的默认处理方法为execute(对应action节点的method值),默认返回值是SUCCESS(对应result节点的name属性)。这个类实现了多个接口,Action,Validateable,ValidationAware,TextProvider,LocaleProvider,Serrializable。方便我们在字段验证、显示错误消息、国际化、序列化等方面做操作,所以建议我们自定义的Action继承这个ActionSupport类

  2.result节点

  result节点是action节点的子节点,作用是name值匹配action方法的返回值制定响应的结果页面。

  一个action几点可以有多个result子节点。

 result节点有一个type属性,用于指定去到响应页面或者Action处理类的类型,四种:dispacher(转发到jsp页面)、chain(转发到Action处理类)、redirect(重定向到Jsp页面)、redirectAction(重定向到Action类,记住redirecAction这一点的作用既可以很好的记住这四个类型的具体实际意义)。需要注意的是:可以使用redirect重定向到Action类,但是不可以使用dispacher转发到Action

  3.通配符的映射

  当一个类中有多个处理方法的时候,我们可以将这些处理方法的名称起作相似的名称,然后在action的节点中用通配符来统一映射这些相类似名称的请求,就可以减少action节点的数量。即将多个相似的映射关系转化为一个统一的映射关系。(多个action请求用一个action节点来处理)

  通配符映射规则:

  ① 精确匹配要强于通配符匹配。

  ② 被通配符*匹配的URI(去掉前缀、后缀和.)字符串的子串可以用{1}{2}...来引用,这个引用可以在method、result的name属性、result节点中的值和action节点的class值中来使用。

  ③ {0}匹配整个URI,一个完整的URI,如:input-save.action。

  ④ 若找到多个通配符,则按照先后顺序进行通配符的匹配。

  



















  

原创粉丝点击