<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方法

struts1配置文件之input的更多相关文章

  1. Struts1使用技巧

    转自:https://blog.csdn.net/chjttony/article/details/6099101 1.Struts1是Apache推出的java web开发领域一个比较早,同时也是使 ...

  2. logstash之input、codec学习

    Logstash最强大的功能在于丰富的过滤器插件.此过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理.甚至添加独特的事件到后续流程中. 1.logstash基本语法组成 ...

  3. ELK之Logstash配置文件详解

    Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力.它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地.它以插件的形式来组织功能,通过配置文件来描述需要插件做什么, ...

  4. 10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析

    4. Reader线程_使用EventHub读取事件 使用inotify监测/dev/input下文件的创建和删除 使用epoll监测有无数据上报 细节: a.fd1 = inotify_init(& ...

  5. Struts2.0笔记二

    Mvc与servlet 1.1   Servlet的优点 1.  是mvc的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上发展过来的.所以掌握servle ...

  6. Logstash时区、时间转换,message重组

    适用场景 获取日志本身时间 日志时间转Unix时间 重组message 示例日志: hellow@,@world@,@2011-11-01 18:46:43 logstash 配置文件: input{ ...

  7. 第三十章 elk(1) - 第一种架构(最简架构)

    软件版本: es:2.4.0 logstash:2.4.0 kibana:4.6.1 一.logstash安装(收集.过滤日志.构建索引) 1.下载:https://www.elastic.co/do ...

  8. ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

    环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...

  9. Linux防火墙配置(iptables, firewalld)

    netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...

随机推荐

  1. 动态从数据库读取菜单(ASP.NET版)

    这几天一直打算做个从数据读取导航菜单的效果,以前做的时候都是写死的(太死了),好了话不多说,先看效果! 我是个小菜,高手请不要喷!我在网上查了好久,说用menu控件,但是我用了不太好!最后我决定用re ...

  2. nginx 配置访问正则匹配

    server{ listen 80; server_name api.zyy.com; root /var/www/api_zyy; index index.php; location ~ /asse ...

  3. 网页JavaScript2

    window.close()     关闭网页, window.opener.close()    关闭打开当前窗口的源窗口 间隔与延迟 window.setlnterval("执行代码&q ...

  4. 使用Teleport Pro离线下载网页所有内容

    在学习生活中,碰到网页中内容太多,如何讲其保存到本地,已方便随时查看呢? 使用Teleport Pro就可以解决问题:     首先下载Teleport Pro V1.54 汉化绿色版的,解压完之后 ...

  5. ArcGIS Server 9.3 安装(win7).

    概述: 安装的过程还不算复杂,但是有个地方需要注意:就是防火墙.需要将 "本机的防火墙" 关掉, 并将 "杀毒软件关闭"(360和avira都会乱来,搞得我安了 ...

  6. MongoVUE查询备忘

    用了一段时间的MongoVUE,把一些在MongoVUE中常用的查询记录一下,以便查阅.1.and查询    查询date等于2016-01-08,并且page_url等于shouye.html   ...

  7. C# 前台线程与后台线程区别

    using System; using System.Drawing; using System.Windows.Forms; using System.Threading; namespace Wi ...

  8. static静态类与非静态类的区别

    static静态类与非静态类的区别 1.在非静态类中可以有实例成员也可以有静态成员 2.在调用的时候需要使用对像名.实例成员调用(先要实例化,如person ps=new person();  ps. ...

  9. 神经网络作业: NN LEARNING Coursera Machine Learning(Andrew Ng) WEEK 5

    在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯 ...

  10. asp.net 的那点事(1、当用户在浏览器地址栏输入了网址后,发生了什么?)

    从今天开始我将抽出空闲时间复习asp.net相关知识.此篇博文只是为了记录学习当中的知识点和感觉到比较重要的知识点. 本人才疏学浅,如有遗漏或者错误希望广大博友尽情拍砖.我会在后续中进行更正. 这个问 ...