博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts1配置文件之input
阅读量:7171 次
发布时间:2019-06-29

本文共 2052 字,大约阅读时间需要 6 分钟。

<action path="/*Person" type="cn.itcast.PersonAction" scope="request" input="/{1}.jsp" parameter="method">
<forward name="list" path="/WEB-INF/pages/list.jsp"/>
</action>
使用通配符,仅仅只是命名的时候*的位置跟{1}保持一致.
我写的这个action继承dispatchAction,parameter=method
假如里面有add方法和edit方法()
訪问add方法的时候,使用这个地址:/addPerson.do?method=add-->这个时候input就是/add.jsp

訪问edit方法的时候,使用这个:/editPerson.do?method=edit-->此时input就是/edit.jsp

input="/register.jsp" 指定formbean的数据是由哪个页面提供的。说明:提供此属性的目的在于formbean校验失败时,程序方便跳回formbean的输入页面,通过struts1错误信息标签,显示校验失败信息。

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>
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參数,而触发调用UserAction的unspecified方法

转载地址:http://jgfzm.baihongyu.com/

你可能感兴趣的文章
ios 学习之Touch
查看>>
【Objective-C】OC中类别(Category)基本概念与用法
查看>>
linux java执行jar命令
查看>>
Go笔记-Web基础
查看>>
我的友情链接
查看>>
ccna和ccnp总汇
查看>>
一键root手机,快速获取权限的方法
查看>>
listView实现简单的顶部悬浮效果
查看>>
一段的冷笑话已经很直白的说明了三方的关系
查看>>
Android菜单menu控件大全
查看>>
C++中的explicit关键字
查看>>
Ubuntu下Common Lisp环境的安装
查看>>
Android——自定义Dialog
查看>>
编码原理(附二)----二值化
查看>>
技能大赛规程
查看>>
System Center Configruation Manager 2016 安装部署独立站点
查看>>
涓栫晫鐢靛奖绠€鍙测€?
查看>>
Redis入门系列之队列和发布订阅模式
查看>>
Ceph学习笔记
查看>>
unity自带的水
查看>>