1. struts.xml文件package标签的namespace 决定了action 的访问路径,默认为“”,可以接收所有路径的actuon,
或者可以写成“/”或者“/XX”等等。
2. struts.xml文件package标签的name属性,和一般的java项目中的package类似,在这里是区分action,防止命名重名的情况。
namespace属性 如果写成namespace="/front",那么访问该项目的hello action的时候,url地址就要写成......./front/hello.action。同样.action可以省略。namespace如果不为空,那么必须以“/”开头。
3. result标签中 name属性的默认值为success,所有没有写name属性的它的name属性都是success。成功。
4. action标签中class的配置:当访问这个action的时候会去找到这个对应的class文件,然后执行该文件中的execute方法,该方法的返回类型是String,比如return “success”;
所以该class文件可以是一般的java文件,只要该类中有execute方法,并且返回值是String就可以被struts2当成action。
此时的执行过程为:找到该action是一个class时,会去找到该class的对象(每次访问时必定new一个,如果不是每次访问时新创建会出现线程同步的问题),执行其中的execute方法,返回一个string,根据返回的String在action标签下的result中寻找对应的name值匹配的result,将匹配到的result标签中的jsp文件(视图)返回给用户浏览器。
5. 具体视图的返回可以有用户自己定义的action来决定。具体的实现手段有三种。
第一种:action对应的class文件是一个普通的java类,但是有execute方法,并且返回值是String类型
第二种:该class类文件实现Action接口,并且重写execute方法,Action接口只有一个方法,那就是execute方法。
第三种:该class类文件继承ActionSupport类,并且也重写execute方法。ActionSupport本身也实现了Action接口。
但是在实际的开发中我们只使用继承ActionSupport这一种方法,因为ActionSupport本身已经为我们封装了可以直接调用的特别方便的方法。因此可以直接在我们自己定义的java文件,即子类中直接调用这些方法。
相关推荐
建立一个Struts2 工程,用Action的属性接收参数,使用Domain Model (实体模型) 接收参数,Struts2_2.1.6版本的中文问题,Struts模块包含,Struts简单数据验证 ,Struts ValueStack(值栈) Debug,Value Stack ...
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
马士兵老师spring框架学习笔记
这是struts2的笔记。本人花费很长时间做的。
马士兵JAVA笔记(全).docx
马士兵struts2源码.rar,包含马士兵Struts2视频(共83小节)的所有源代码,包括bbs2009。
马士兵hibernate学习笔记.docx
马士兵老师mybatis相关学习笔记
马士兵Spring学习笔记.docx马士兵Spring学习笔记.docx马士兵Spring学习笔记.docx马士兵Spring学习笔记.docx马士兵Spring学习笔记.docx马士兵Spring学习笔记.docx马士兵Spring学习笔记.docx马士兵Spring学习笔记.docx
)马士兵java框架hibernate学习笔记
马士兵Spring课堂笔记(超级详细版).pdf
JAVA笔记(根据马士兵的java视频整理).pdf
马士兵多线程训练营上课笔记
一.java内存结构 2 二 垃圾收集算法: 3 三 JVM参数 4 四 JVM的垃圾回收集器 7 五 常用参数设置 7
马士兵struts2操作手册,跟适配配套的操作手册
struts2学习笔记,听完尚学堂马士兵老师的视频讲座整理的笔记。
马士兵老师HashMap学习笔记
看完马士兵老师的视频,按照对应方法找架包,结果并不如意,所以搜索这些花了一点功夫,希望对大家有帮助
马士兵多线程训练营笔记