struts.xml
配置详解之五 Action
配置2
1.
Action
配置
1.1
、
method
属性与动态方法调用注意点
1
、method
属性可以自动匹配doXXX()
方法,如doAdd()
,访问方式一样,这样的好处是可以使用Java
的关键字,如default
,可以创建doDefault()
方法;
2
、如果同一个Action
的不同方法使用的是相同的配置(同样的拦截器、同样的result
的映射),那么可以使用动态方法调用;
3
、如果同一个Action
的不同方法使用的是配置不同的拦截器、不同的result
的映射,那么可以method
属性,为同一个Action
配置多个别名;
4
、动态方法可以修改配置禁用,因为它可能被恶意访问;
5
、动态方法调用与通配符方法有所重叠。
1.2
、
模拟
Struts1
的
ForwardAction
在jsp
中将所有URL
都指向action
,而不是指向jsp
,可以通过如下方式实现。
代码清单
1
:
struts.xml
片段
<
package
name
=
"test"
extends
=
"struts-default"
>
<!--
服务器跳转,返回的地址为
xxx.action -->
<
action name
=
"main"
>
<
result>
/main.jsp
</
result>
</
action>
</
package>
在jsp
中的调用:
代码清单
2
:
operateSuc.jsp
片段
<a
href
=
"
<%=
path
%>
/main.action"
>
返回主页
</a
>
实现原理:
1、
class
属性省略,则默认使用com.opensymphony.xwork2.ActionSupport
类;
2、
当请求“/main.action
”时,框架将创建ActionSupport
实例,调用该实例的execute()
方法,返回“success
”,于是请求被导向到”/main.jsp”
页面。
1.3
、
默认的
action
如果请求的action
不存在,结果将是HTTP 404
错误,我们可以通过配置默认的action
匹配不存在的action
代码清单
3
:
struts.xml
片段
<
package
name
=
"test"
extends
=
"struts-default"
>
<!--
配置默认的
action
,所有不存在的
action
都会匹配此
action
-->
<
default-action-ref
name
=
"hello"
/>
<
action
name
=
"hello"
>
<
result
>
/error.jsp
</
result
>
</
action
>
</
package
>
注意:
1、
default-action-ref
必须在action
元素之前;
2、
每个包中都可以有它自己的默认action
,但是每个名称空间应该只有一个默认action
。
3、
默认action
只对访问action
有效,非action
同样会看到HTTP 404
错误;
4、
推荐的处理方式
是为整个Web
应用程序指定默认页面,在web.xml
中配置如下:
代码清单
4
:
web.xml
片段
<web-app
version
=
"2.5"
xmlns
=
"http://java.sun.com/xml/ns/javaee"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>
<error-page
>
<error-code
>404
</error-code
>
<location
>/error.jsp
</location
>
</error-page
>
</web-app
>
我的联系方式:
85337464
我的博客:
http://coderdream.iteye.com
分享到:
相关推荐
NULL 博文链接:https://coderdream.iteye.com/blog/812871
NULL 博文链接:https://coderdream.iteye.com/blog/811139
NULL 博文链接:https://coderdream.iteye.com/blog/813784
NULL 博文链接:https://coderdream.iteye.com/blog/811262
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰主讲的struts2 ppt 比较详细的一份ppt
struts2的介绍,struts框架结构、控制器组件、标签库以及详细的配置文件描述
张冰主讲的Struts2的PPT,主要介绍Struts2和Struts1的区别,还介绍了简单的登录功能的实现。建议初学者看,可以让你从宏观上把握Struts2.
张冰_struts2_PPT 2009 ...............
Struts2_张冰_视频教程课件_PPT,张冰配套教学视频课件。
我主要参考了《深入浅出Struts2》、《Struts2.0中文教程》以及张冰老师的视频教程,这里借机很感谢他们,大家可以在网上收到这些资料,当然可以向我索要,我会很乐意给大家的。当然我不认为这是最好、最全的学习...
C面向对象程序设计张冰PPT学习教案.pptx
C面向对象程序设计张冰PPT课件.pptx
该文档是我看张冰老师的整合SSH视频的心得,我自己好不容易整合好了,将详细的步骤记录了下来,和大家分享,希望对大家有用!
C++面向对象程序设计 张冰 课件、源代码