zoukankan      html  css  js  c++  java
  • Struts2 02--通配符

       在以前没有使用Struts时,web与前台的数据交互通过Servlet+jsp页面。一个增删改查往往需要写四个Servlet来处理数据;在使用struts之后,Servlet不再被使用,而是通过struts.xml+*Action.class来获取数据。这时候Action.class不需要在编写四个,只要写一个,里面再写四个方法就行了;再通过struts.xml里面配置访问路径。那么问题来了?

    struts.xml里面有应该怎么来配置呢?

    在上一篇《Struts2 01---环境搭配》中有提到过struts.xml的规范。一个struts.xml里面常会用到的属性有<package> <action> <result>等等。

    在Struts2框架中是通过package来管理action、result、interceptor、interceptor-stack等配置信息的。

    package属性如下:

    一般来说,我们使用的时候配置name extends就足够了。

    <action>属性如下:

    这个我一般会配置name class method三个属性,如果在配置的时候没有设置method属性就会执行对应的Action.class中的execute();

    配置的时候一般一个方法对应一个这样的配置:

    <action name="IndexAdd" class="com.action.IndexAction" method="add">
        <result name="success" type="redirect"> /index.jsp</result>
        </action>

    可是这种配置虽然不难配置,但是随着方法越来越多,配置方法的action也会越来越多:

    <action name="IndexAdd" class="com.action.IndexAction" method="add">
        <result name="success" type="redirect"> /index.jsp</result>
        </action>
    <action name="IndexUpdate" class="com.action.IndexAction" method="update">
        <result name="success" type="redirect"> /index.jsp</result>
        </action>
    <action name="IndexGetAll" class="com.action.IndexAction" method="GetAll">
        <result name="success" type="redirect"> /index.jsp</result>
        </action>

    那么这个时候其实我们是可以通过通配符来简化配置的代码的,拿上面这一段代码来说,使用了通配符之后:

    <action name="Index*" class="com.action.IndexAction" method="{1}">
        <result name="success" type="redirect"> /index.jsp</result>
        </action>

    在同一个Action.class中的方法都只需要一个<action>来执行,地址是action的name属性值+Action.class中的方法名。*代指方法名,{1}代指*。

    其实通配符还有一种:“!”,这个是一个过时的通配符;我不会使用,只是知道有这个通配符。

    通配符的使用不仅可以用在<name>+<method>上,<result>也可以通过通配符来简化代码;

    <result>属性如下:

    type属性里面有很多返回结果类型,但是我一般用的都是转发或者重定向。默认的就是转发,重定向是redirect ;

  • 相关阅读:
    “猫癣”集团借IE7新漏洞再掀风浪 狼人:
    研究人员在黑帽安全大会演示SSL攻击 狼人:
    猫癣病毒“躲猫猫” 移师广东东莞月入百万 狼人:
    Adobe两款软件存在缺陷 黑客可控制用户PC 狼人:
    安全观点:遭遇数据泄露破坏 损失的不只是金钱 狼人:
    McAfee报告称七成手机制造商认为手机安全至关重要 狼人:
    微软表示本月将发布五个Windows 7更新 狼人:
    Gmail电子邮件曝全球性故障 谷歌向用户道歉 狼人:
    Google Talk被黑客利用 发动钓鱼攻击 狼人:
    谷歌GMail邮件服务出现故障 部分服务已恢复 狼人:
  • 原文地址:https://www.cnblogs.com/pengyan-9826/p/7648356.html
Copyright © 2011-2022 走看看