struts2_大纲01

下载:http://struts.apache.org/




1,导入jar包,7个必备的jar包分别是:
*struts2-core-2.1.6.jar
*ognl-2.6.11.jar
*xwork-2.1.2.jar
*freemarker-2.3.13.jar
*commons-logging-1.0.4.jar
*commons-fileupload-1.2.1.jar
*commons-io-1.3.2.jar

2,将配置文件struts.xml粘贴到工程的src中


3,在web.xml中添加过滤器配置信息
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

4,修改struts.xml中的配置信息来完成我们的需要


5,常量配置:
开发模式设置为true,则在修改action的name属性之后,可以不需要重新启动服务器
<constant name="struts.devMode" value="true"/>


6,到入源码包:
选中jar-->右键properties-->java source attachment-->
G:/Java资料/资料/Struts2文档资料/struts-2.1.6/src/core/src/main/java


7,导入struts.xml配置文件的快捷提示:
window-->preferences-->搜索catalog-->xml catalog-->add
key type=uri
location=选取struts核心包解压后的struts-2.0.dtd文件路径
key=http://...struts-2.0.dtd
8,struts实例的执行过程

9,nameSpace:默认为""表示接收所有的action,例如action配置name="hello",则.../hello,.../XX/.../hello都能够响应
如果需要配置则必须以"/"开头,如:/front,则访问hello.action的时候:...front/hello.action
package:给action打包,用来区分action重名的情况

10,配置具体action类的项目
①修改创建的jsp页面的默认编码:window-->preferences-->搜索jsp-->Encoding修改为Chinese...
②如果有一个具体的Action类,配置文件:
<action name="" class="">...</action>
如果不配置class,则默认访问ActionSupprt
③查看ActionSupport需要加载xwork.jar的源码
④action类的实现方式
1>直接定义一个类
2>实现Action接口
3>继承ActionSupport类(我们使用第三种:封装了很多可以直接使用的方法验证方法,input方法等等)


11,struts2的路径问题:相对路径/绝对路径(项目实例演示)
struts2中的相对路径是根据action的路径而不是jsp的路径来指定的,所以尽量不要使用相对路径
<base href="<%=basePath %>"/>


12,struts2的DMI动态方法调用!
访问一个action的时候,默认调用的是execute方法
但是不是一定只能调用execute方法,我们可以通过配置来调用指定的方法
我们也可以通过提交的路径来调用:hello.action!methodName
当然我们也可以通过通配符来动态调用指定的方法

13,struts2通配符配置:使用通配符可以将配置项降到最低
<action name="*_*" class="com.softeem.{1}Action" method="{2}">
<result>/{1}_{2}_success.jsp</result>
</action>



14,Action类的属性接收参数
三种接收参数的方式:
action属性接收
action中的对象接收(最多使用)
实现模型驱动接口ModelDriven<User>,在action中直接定义对象属性,传值的时候只根据对象属性就ok了,但是这个对象需要自己new

15,参数传递过程中的中文问题
注意:页面表单数据提交尽量用post方式
<constant name="struts.i18n.encoding" value="GBK"/><!-- internationalization -->但是这个是2.1的bug
所以我们需要将filter设置为2.0版本的


16,简单数据验证:
1>在action中进行数据验证之后,如果验证数据错误,则将错误信息放入错误堆栈:this.addFieldError("name","message");
2>页面采用struts标签:<s:fielderror fieldName="name" theme="simple"/> 这种方式指定了css样式-->5>
3>如何配置struts标签(对比jstl)
4><s:debug></s:debug>显示各个堆栈信息
5><s:property value="errors.name[0]" />取到值栈中的信息,根据name取到value[ognl表达式]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值