传智播客学习日记Day23

来源:互联网 发布:淘宝皮草专卖 编辑:程序博客网 时间:2024/05/22 05:15
今天是学习SSH三大框架的第一天,由于以前觉自己学过加上老师讲解的很详细,觉得一天下来收获了很多,而且老师
交给我们的知识是系统性的,而且较深入的,自己学习很难理解,可是经过老师耐心的讲解。我们收获了不仅有知识,学习方法
,还有学习新知识的乐趣。
Struts2框架的集成
    1.从Struts_blank/lib/*.jar依赖包
    
    2.从Struts_blank/classes/struts.xml配置文件
    
    3.从Struts_blank/WEB-INF/web.xml拷贝配置Struts2的核心控制器
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    4.编写控制器
     action中方法的返回类型统一定义为String,对应的是视图的名称
    5.在Struts.xml配置控制器(action)
    <package name="default" namespace="" extends="struts-default">

        <action name="index"  class="">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>
    
Struts2中的视图
这种映射方式可以实现action程序代码与返回的jsp页面名称的解耦。
局部视图:在<action>元素中配置<result>元素
全局视图:在<global-results>元素中配置<result>元素
    <result name="" type="">
        <param name="location">xxx.jsp<param>
    </result>
    
    
Struts2常量
     <constant name="struts.enable.DynamicMethodInvocation" value="false" />
     <constant name="struts.devMode" value="true" />
     <constant name=“struts.action.extension” value=“do,go,action,,”/>
    
Struts2其他配置
    <include file="">
    <default-action-ref>
    <default-class-ref>
    
动态方法调用
    关闭struts.enable.DynamicMethodInvocation
    actionName!methodName[.expr]
通配符
    使用*站位,下标从1开始
      <action name="emp_*"  class="xx.EmpAction" method="{1}">
          <result type="redirectAction">
                <param name="actionName">employee_list</param>
                <param name="namespace">/dmi</param>
            </result>
            <result name="list" type="dispatcher">
                /WEB-INF/Employee/list.jsp
            </result>
            <result name="input" type="dispatcher">
                /WEB-INF/Employee/input.jsp
            </result>
      </action>
      
      <action name="*_*"  class="xx.{1}Action" method="{2}">
            <result type="redirectAction">
                <param name="actionName">{1}_list</param>
                <param name="namespace">/dmi</param>
            </result>
            <result name="list" type="dispatcher">
                /WEB-INF/{1}/list.jsp
            </result>
            <result name="input" type="dispatcher">
                /WEB-INF/{1}/input.jsp
            </result>
      </action>