zoukankan      html  css  js  c++  java
  • struts1配置文件之input

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

  • 相关阅读:
    Nginx配置文件nginx.conf中文详解(转)
    windows Nginx基本使用方法
    phpstorm 找到文件修改历史
    微信小程序模拟点击出现问题解决方法
    设置头像、商品、轮播图为背景图时需要的css
    div左右居中css
    自定义方形复选框
    css 调转180度:transform: rotate(180deg);
    js字符串转数字(小数),数字转字符串
    腾讯地图key秘钥
  • 原文地址:https://www.cnblogs.com/iamconan/p/7383636.html
Copyright © 2011-2022 走看看