• Structs2配置文件相关说明


    1,structs.xml文件解析

    <package name="front" namespace="/front" extends="struts-default">
      <global-results>
        <result name="error">/WEB-INF/jsp/error.jsp</result>
      </global-results>
    
      <global-exception-mappings>
        <exception-mapping exception="java.lang.Exception" result="error"/>
      </global-exception-mappings>
    
      <action name="helloworld">
        <result >/hello.jsp</result>
      </action>
    </package>

    name,对应的是前台,后台或者模块的名称,一般设置的为namespace相同
    namespace:决定了action的访问路径,默认为"",可以接受所有的action,namespace可以写为/,或者/xxx,/xxx/yyy,那么对应的访问路径分别为/index.action,/xxx/index.action,或者/xxx/yyy/index.action,这里的 .action默认是可以省去的

    2,执行过程

    <package name="front" namespace="/front" extends="struts-default">
        <action name="hello" class="test.indexaction1">
            <result name="success"> /hello.jsp</result>
        </action>
    </package>


      进入structs.xml文件后,根据url进行匹配namespace,如果没有匹配成功,则返回到web.xml文件中,执行index.jsp文件,如果匹配成功,则进行下一步操作:匹配action,根据action的name,做进一步匹配,如果匹配不成功,仍然返回web.xml文件中进行下一步操作,如果匹配成功,开始根据class名来查找对应的class,如果没有class这个值,则默认执行的是ActionSupport这个类中的execute方法,默认返回的是"success",然后根据success来匹配action后面的result节点的name值,如果匹配到,则返回对应的jsp文件,这就是整个过程,如果没有找到,则返回404

    3,路径问题
      sturcts2的路径是根据action的路径而不是jsp的路径来确定的,所以尽量不要使用相对路径虽然可以使用redirect方式解决,但redirect方式并非必要解决方法很简单,统一使用绝对路径。在jsp中用request.getContextRoot方式来拿到webapp的路径,或者使用myeclipse经常使用的,指定basePath<base href=<%=basepath%>后,相当于指定整个页面的连接的基本url

    4,resulttype
    这个常用的有下面的

    • dispatcher 服务器内部跳转到另外一个页面
    • redirect 浏览器页面跳转到另外一个页面
    • chain 服务器内部跳转到另外一个action
    • redirectAction 浏览器跳转到另外一个action
    • framwork
    • stream

    5,structs tags
      通用标签

      • property
      • set 集合,主要用于键值对,
      • bean 实例化对象
      • include 少用
      • param
      • debug(这个是<s:debug></s:debug>)

    控制标签

      • if elseif else
      • iterate 循环控制器

    UI标签 结合其他框架,用的比较少

    Ajax标签 用的比较少

    $#%的区别 用的比较少

  • 相关阅读:
    django 日志窜打问题
    获取f5 应用并发数情况返回JSON
    埋在 MySQL 数据库应用中的17个关键问题!
    python 模拟发送JSON数据
    python 模拟 curx -u
    分区表和全局索引
    Oracle 普通表转分区表
    阿里云吕漫漪:深度解析国内首个云原生数据库POLARDB的“王者荣耀”
    哪些顾虑会影响企业采用云桌面?
    哪些顾虑会影响企业采用云桌面?
  • 原文地址:https://www.cnblogs.com/ningheshutong/p/5676891.html
Copyright © 2020-2023  润新知