一 概述
struts2配置文件有两种:配置action的struts.xml和配置全局属性的struts.properties。
Struts.xml文件定义了一些列的action,定义action的时候指定action的指定类,并定义该action处理结果与视图资源之间的映射关系。
struts2的核心是控制器组件。
A: FilterDispatcher
B:业务控制器Action
二 命名空间
2、package,相当于为了区分里面不同的action的重名的情况
3、
就是说,想要访问某一个action,那么必须加上namespace的值,那么这里
要访问的话就是 /front/index
result如果不写里面的name=“success”,就默认为成功。因为SUCCESS是继承的类里面的自己定义的常量。
找action的话,如果别的包里没有,那么找namespace为空的执行。
4、学习视频教程的时候,先把里面的代码导入到工程里面去,学习代码,然后自己再去试验,不必要非得第一次就自己完全的写,要注意,自己的最主要的目标是快速掌握知识点,没必要非得自己背着写出来。
5、如果从eclipse中左边复制一个工程,然后复制,重新命名一个的话,一定要记住,无web那里,把Web contentroot 名字设置为自己新命名的名字。
三 通配符
12:59
对于这个URL的分析,首先是端口后面的app,然后就是actions命名空间,然后就是一个action名字。
但是在上面的配置中,找不到对应的action名字,但是两个里面全部是用通配符设置好的,
而对于method=“{1}" 表示的是前面第一个*匹配的内容,例如上面,很显然,选中的*匹配的是“add”,那么后面的method里面的内容代表的自然就是add。
下面的result里面值也是匹配的,以前需要匹配多个result,这里的话就直接一个。这里的话,需要JSP的命名规则一定要约定好,按照一定的格式。
下面第二个action,
四 注意点
1:若拷贝项目后,一定要改web
2:
23:30
1:Action返回一个结果的名字字符串,例如SUCCESS、ERROR以及INPUT等,从struts.xml中获取映射信息。一个给定的结果字符串将选择一个页面或其他资源(图片或PDF)来返回给用户。
3:
1:首先下载 struts2的jar包
2:建立 web project
3:然后再struts2的包里面apps里面解压blank那个例子
4:把里面classes里面的struts配置文件拷到项目的src下,
5:然后拷贝类库lib中的jar到web_inf下的lib中,可以从navigater视图中看到。
6:配置web.xml,参考示例程序,把里面filter的东西复制过来。
7:然后在strut.xml配置文件中,将package全部注释掉,重新写一个package
8:Struts2是集成了以前的Webwork
五 DMI
9、DMI
2011年9月11日
12:47
最后面的参数是method,表示:这里调用的不是execute方法了,而是电泳method指定的add方法。这样的话,类里面只要一个名字为add的方法就可以。
上面这种不怎么用。
一、下面是指动态的方法调用DMI,
这样的话,就不使用method这个参数,直接动态调用里面的方法,就是在action的名字和要调用的方法中间加上一个!,这样的话,如果action类里面有多个方法,却不用写多个action了,想要调用的时候直接用DMI方式就可以了。
六 Action接受参数
x
2011年9月11日
13:19
用action属性接收参数。
1:在自己的action类里面,设置属性,然后getter和setter方法。
2:DomainModel接收参数
所谓的域模型,就是在一个单独的类里存储属性,然后action方法里直接调用就可以了,不要new,struts2会自动new。
例如:
,
这样就可以直接调用了。
还可以对于user里面的属性,多一个DTO,数据传输对象,里面定义属性。那么再根据DTO生成一个user就可以了。
3:模型驱动
对于MVC,v就是那些JSP,M就是数据类,c就是action。