<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <!-- 创建包default,继承struts-default -->
    <package name="default" extends="struts-default">
        <!-- 名为login的Action,实现类为LoginAction -->
        <action name="login" class="com.action.LoginAction">  
            <!-- redirectAction返回类型 -->  
            <result type="redirectAction">
                <!-- Action名参数 -->
                   <param name="actionName">userLogin</param>

          <!-- 参数名 -->

        <param name="username">${username}</param>
                   <!-- 命名 空间参数-->
                <param name="namespace">/user</param>
            </result>  
            <!-- 返回值为error, redirectAction类型,重定向到名为error的Action-->      
            <result name="error" type="redirectAction">error</result>    
            </action>
            <!-- 名为error的Action -->
        <action name="error">
               <result>/error.jsp</result>
           </action>
    </package>
    <!-- 名为user的Action,命名空间为/user -->
    <package name="user" extends="struts-default" namespace="/user">
       <!--名为userLogin的Action  -->
       <action name="userLogin" class="com.action.UserAction">
           <result>/hello.jsp</result>         
       </action>
    </package>   
</struts>

其中hello.jsp 位于webroot 下。${username} 中的username  对应于login中的属性值,

即由页面传过来的值,而param 中 name="username" 中的username 对应于userLogin中的属性名称,即给该名称的属性赋值。

在hello.jsp中获取传递过来的属性 就要用到ognl表达式

<s:property value="username">

================================================================

动态调用方法

在struts.xml 中增加静态配置

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

增加后才可以动态调用方法;

动态调用方法首先在action得有对应的方法,被调用的方法与默认方法execute()类似

<action name="login" class="com.action.LoginAction">  
        <result>/result.jsp</result>

     <result name="add">/add.jsp</result>

    <result name="update">/update.jsp</result>
   </action>

对象的请求

http://127.0.0.1:8080/helloworld/login!update.action

最新文章

  1. 创建高安全性PHP网站的几个实用要点
  2. Android+Eclipse+Java:在“正在启动 CrazySnake”期间发生了内部错误, java.lang.NullPointerException
  3. 【Unity3D】枪战游戏—弹孔设置
  4. Linux平台下使用rman进行oracle数据库迁移
  5. B. 沙漠之旅(分组背包)
  6. seajs模块标识命名和解析规则
  7. 前端自动化测试神器-Katalon的基础用法
  8. 从头开始学JAVA[Day01]
  9. linux终端文本编辑神器vi的使用
  10. MAC环境配置
  11. jenkins+maven+tomcat集群发布
  12. 项目总结19:layui实现表格渲染、表格搜索、数据获取
  13. android--------自定义控件 之 组合控件篇
  14. apache反向代理设置
  15. Nginx控制客户端请求的速率
  16. python之函数用法endswith()
  17. HBase 安装设置
  18. 使用tkinter做简单计算器
  19. php log类
  20. spi 总线协议记录

热门文章

  1. ssh远程登录命令简单实例
  2. Adobe Acrobat pro生成PDF模版
  3. 开源API测试工具 Hitchhiker v0.8 - 自动化测试结果统计
  4. .Net程序员学用Oracle系列:视图、函数、存储过程、包
  5. 阻止a标签的默认事件及延伸
  6. 开发 | 微信小程序API-wx.setScreenBrightness/wx.getScreenBrightness
  7. 一步一步从原理跟我学邮件收取及发送 2.邮箱的登录和绕不开的base64
  8. Machine Learning - week 3
  9. deeplearning.ai 神经网络和深度学习 week1 深度学习概论 听课笔记
  10. 喵哈哈村的魔法考试 Round #1 (Div.2) 题解&amp;源码(A.水+暴力,B.dp+栈)