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. 优化MySchool数据库(四)

    关于“无法附件数据库”过程的遇到的问题: 1.数据文件本身,具有访问权限的限制 ---- 选中 数据库文件所在的文件夹---->右键菜单(属性)----> 安全 --->User用户 ...

  2. GCD基础知识总结

    iOS三种多线程编程技术: 1.NSThread 2.NSOperation 3.GCD(Grand Central Dispatch) 从上到下,抽象度层次从低到高,抽象度越高的使用越简单,也是Ap ...

  3. nodejs get/request

    灌水评论示例: var http = require('http'); var querystring = require('querystring'); var postData = queryst ...

  4. 转载文章----.NET 框架浅析

    转载地址:http://www.cnblogs.com/yangmingming/archive/2010/01/27/1657850.html .NET 框架概要: .NET框架,即.NET Fra ...

  5. WPF学习之路(六)Command

    在WPF中,命令绑定机制是相比于事件更高级的概念,把应用程序的功能划分为多个任务,任务由多种途径触发. 应用Command Binding使代码更符合MVVM模式(Model-View-ViewMod ...

  6. Maven在Windows上的安装与配置

    下载Maven 1.进入Maven官网下载:maven.apache.org(点击进入或复制浏览器地址栏,回车进入) 注意事项:需要大家要注意的是(截至目前2015年12月1日)最新版本的Maven3 ...

  7. MySql 中 case when then else end 的用法

    解释: SELECT                case                   -------------如果    when sex='1' then '男' ---------- ...

  8. 别再TM跟我说找不到满意的工作!

    上一篇老徐跟大家分享:如何判断自己在这家公司是否有成长? 今天只想跟大家说几个真是案例:别再TM总抱怨说找不到满意的工作 说明:如下案例,针对老徐当前的软件测试职业,其他职业可自己脑补--- / 1 ...

  9. go sync.Mutex 设计思想与演化过程 (一)

    go语言在云计算时代将会如日中天,还抱着.NET不放的人将会被淘汰.学习go语言和.NET完全不一样,它有非常简单的runtime 和 类库.最好的办法就是将整个源代码读一遍,这是我见过最简洁的系统类 ...

  10. T-SQL基础--TOP

    理解TOP子句 众所周知,TOP子句可以通过控制返回行的数量来影响查询. 我们知道TOP子句能很容易的满足返回指定行数的子集,接下来有一些例子来展示什么情况下使用TOP子句来返回一个结果集: 你打算返 ...