java 引入本地dtd_JavaEE SSH框架整合(二) struts2 加载本地dtd文件,action配置

1. 加载struts2的dtd文件,使struts.xml不用联网就能验证,并在eclipse中有提示 在src下创建struts.xml: ? xml version = 1.0 encoding = UTF-8 ? ! DOCTYPE struts PUBLIC -//Apache Software Foundation//DTD Struts Configuration 2.3//EN http://struts

1. 加载struts2的dtd文件,使struts.xml不用联网就能验证,并在eclipse中有提示

在src下创建struts.xml:

/p>

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

解压struts2/lib下的core.jar。找到struts-2.3.dtd,解压出来。

eclipse > 首选项 > xml > xml catalog > user specified entries>add

location 选择本地dtd文件;key type为选uri;uri为 http://struts.apache.org/dtds/struts-2.3.dtd

2. 中的元素为:

常用的常量constant:

package的使用:

3. package中的元素顺序为:

result-types

interceptors

default-interceptor-ref

default-action-ref

default-class-ref

global-results

global-exception-mappings

action*(所有action放到最后)

不遵循该顺序会xml验证会报错

4. action配置

4.1 直接跳转

/WEB-INF/test.jsp

访问地址:http://.../appName/forward.action     .action可以省略

4.2 根据action-class的返回值进行跳转

/WEB-INF/test.jsp

访问地址:http://.../appName/TestAction      执行com.stone.action.MyAction的

execute方法,返回值为success则跳转到相应页面

4.3 指明action-class的method

/WEB-INF/test2.jsp

访问地址:http://.../appName/methodAction

执行com.stone.action.MyAction的testMethod或者是doTestMethod方法,其返回值与result-name匹配

4.4 不指明action-class的method,根据访问的形式进行Action的动态方法调用

需要先开启动态方法调用,即配置相关常量。

/WEB-INF/edit_add.jsp

/WEB-INF/edit_delete.jsp

访问地址:http://.../appName/testDynamic!add  执行com.stone.action.EditAction的add方法

若访问地址为  .../testDynamic!delete 则执行EditAction的delete方法。

4.5 通配符和占位符匹配

4.5.1  通配符* 表示任意字符

http://www.baidu.com

访问地址:http://.../appName/edit后接任意字符

执行com.stone.action.EditAction的add方法

方法返回add时,重定向到baidu

4.5.2 通配符和占位符一起使用,class中有占位符

/WEB-INF/jsp/News_{1}.jsp

{1}即表示第1个通配符*所代表的字符串

如有多个通配符 即 {1}  {2} {3} ...

访问地址:http://.../appName/newsAdd  执行com.stone.action.NewsAddAction的execute方法

方法返回Add时,跳转到/WEB-INF/jsp/News_Add.jsp

注意:当前占位符放在class中时,可能会出现找不到class定义的情况,这时通过定义struts的全局异常处理

也是没有作用的。因为全局异常处理,只是处理action 中的异常。

所以一般不要在class中使用占位符进行匹配

4.5.3 通配符和占位符一起使用 method中有占位符

/WEB-INF/jsp/book_{1}.jsp

   访问地址:http://.../appName/book_add 执行com.stone.action.BookAction的add方法

方法返回add时,跳转到/WEB-INF/jsp/book_add.jsp

注:该action,如果访问的是以book_开头,但是method访问不到, 则适用action中出异常这种情况,可以由struts捕获处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值