struts配置中的路径与模式匹配

³     struts配置中的action,有一个path属性,它表明请求的URI

³     一般情况下,我们需要在配置文件中明确指定某个特定的URI,如path=“/user/add”

³     在一些大型应用中,如果能够制定一套严格的路径及其操作规范的话,我们可以利用path的路径模式匹配功能,来简化struts配置文件繁琐的编写工作量

³     假设有如下规范:

³     user对象的所有处理Action,均需要以如下的路径进行访问:

³     /user/add.do – 处理用户添加的有关操作

³     /user/delete.do – 处理用户删除的有关操作

³     /user/update.do – 处理用户更新的有关操作

³    

³     所有操作(Action)对应的JSP如下:

³     所有操作成功(失败)之后的转向页面,有如下命名规范:

³     /user/add.do -> /user/add_success.jsp/user/add_error.jsp

³     /user/delete.do -> /user/delete_success.jsp/user/delete_error.jsp

³    

³     所有操作的输入界面有如下命名规范:

³     添加操作 -> /user/add_input.jsp

³     更新操作 -> /user/update_input.jsp

³    

 

Action配置示例:

 

<action

path="/user/*"

type="com.bjsxt.struts.web.actions.UserAction"

name="userForm"

parameter="method"

>  

<forward name="index" path="/user/index.jsp"/>

<forward name="success" path="/user/{1}_success.jsp"/>

<forward name="error" path="/user/{1}_error.jsp"/>

<forward name="input" path="/user/{1}_input.jsp"/>

</action>

 

解释如下:

 

³     所有的/user/*.do请求,都将由UserAction这个类来处理,UserAction类继承DispatchAction,它将根据传入的method参数的值,来分发到不同的方法来进行处理

³     UserAction类中的任何一个方法,都可以返回index/success/error/input等名称的ActionForward

³     根据请求路径的不同,即使调用相同的返回代码,但其转向也将不同,如:

²     /user/add.do?method=add请求,将被转发给UserAction类的add方法处理,假设它用mapping.findForward(success);来返回成功页面,这将转向的实际JSP页面是:/user/add_success.jsp

²     /user/delete.do?method=delete请求,将被转发给UserAction类的delete方法处理,假设它用mapping.findForward(success);来返回到删除成功页面,这将转向的实际JSP页面是:/user/delete_success.jsp,所以,不同URI请求的相同名称的返回页面将是不同的

²     /user/index.do请求(或者任何一个其它请求,如/user/abcd.do/user/test.do),都因为没有传递method参数,而触发调用UserActionunspecified方法

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值