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标签 用的比较少

$#%的区别 用的比较少

Structs2配置文件相关说明的更多相关文章

  1. webpack 配置文件相关解说

    博客地址:https://ainyi.com/10 webpack - 什么是webpack: WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它 ...

  2. Win7和Vista的安全机制对于应用程序读取配置文件相关操作的影响(虚拟重定向技术)

    今天构造了一个新版本的XXXX软件,并且在纯净的系统下进行了较为全面的测试.测试中也发现了一些问题.其中包括在Win7测试时程序竟然在另一个目录中创建了文件夹和配置文件,并且进行相关读取操作,却并没有 ...

  3. fnd_profile.value('AFLOG_ENABLED')的取值 和配置文件相关SQL

    SELECT * FROM FND_PROFILE_OPTIONS_VL TT WHERE TT.PROFILE_OPTION_NAME LIKE '%AFLOG%' FND:启用调试日志 详细的参考 ...

  4. redis配置文件相关

    1. 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes daemonize no 2. 当Redis在后台运行时,Redis默认会把pid写入/var/run/red ...

  5. Apache配置文件相关命令

    转:http://www.365mini.com/page/apache-options-directive.htm Options指令是Apache配置文件中一个比较常见也比较重要的指令,Optio ...

  6. javaWEB中web.xml配置文件相关

    1.常用节点的执行顺序: context-param -> listenter -> filter -> servlet -> interceptor,其中有多个filter的 ...

  7. 三十三、python中configparser配置文件相关操作

    配置文件ini [a1]age = 18sex = 'man' [a2]age = 19sex = 'woman'name = False 1.对配置文件进行操作 import configparse ...

  8. maven的pom.xml配置文件相关依赖jar包

    <!--声明变量--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sou ...

  9. 【01】Spring Boot配置文件相关

    1.Spring Boot 获取属性的属性源,优先级从高到低 (1)命令行参数 (2)java:comp/env里的JNDI属性 (3)JVM系统属性 (4)操作系统的环境变量 (5)随机生成的的带r ...

随机推荐

  1. 干货之运用CALayer创建星级评分组件(五角星)

    本篇记录星级评分组件的创建过程以及CALayer的运用. 为了实现一个星级评分的组件,使用了CALayer,涉及到mask.CGPathRef.UIBezierPath.动画和一个计算多角星关键节点的 ...

  2. 【代码笔记】iOS-使图片两边不拉伸,中间拉伸

    代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // ...

  3. Kotlin偏好设置

    Kotlin的强悍震精了我,android中每个应用都会用到SharedPreference在Kotlin中使用竟是如此简单! package com.android.extkt import and ...

  4. Android进程管理及静态变量垃圾回收

    1.Android静态变量的生命周期 静态变量的生命周期遵守Java的设计.我们知道静态变量是在类被load的时候分配内存的,并且存在于方法 区.当类被卸载的时候,静态变量被销毁. 在PC机的客户端程 ...

  5. Java基础知识学习(七)

    线程(续) 线程同步 当两个或两个以上的线程需要共享资源,它们需要某种方法来确定资源在某一刻仅被一个线程占用.达到此目的的过程叫做同步(synchronization) 可以用两种方法同步化代码.两者 ...

  6. 华为S5700S-52P-LI-AC千兆网管交换机web登录界面配置

    研究一下午,包装附的说明书根本就是错误的,通过技术售后和官方的文档结合,总算可以登录交换机的web管理界面. 首先需要使用通讯控制线缆(包装中附)连接电脑和交换机,一头接交换机的Console口,一头 ...

  7. Windows下好用到必须开机自启的小工具

    折腾过linux,黑苹果,最后还是回到了盖茨大叔的windows.得出的结论是,日常使用的话,折腾Linux还不如把精力去拿去折腾windows.分享下折腾的成果,介绍下一些很不错的小工具.     ...

  8. js 浮点运算出现的精度丢失问题

    var myf='6.202555'; myf=Number(myf).toFixed(2);//使用方法 Number.prototype.toFixed = function(scale) { v ...

  9. 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类

    static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...

  10. Log4j 输出的日志中时间比系统时间少了8小时的解决方法,log4j日志文件重复输出

    1. 第一个问题:时间少了8小时 Log4j 输出的日志中,时间比系统时间少了8小时,但是 eclipse 控制台输出的日志的时间却是对的. log4j配置如下: #all logger output ...