①在struts.xml中的action添加method

  <action name="addhelloworld" method="add" class="com.lzhc.action.HelloWorldAction">
    <result>/add.jsp</result>
  </action>

  在src中的com.lzhc.action包下的HelloWorldAction中添加add方法如下

  public class HelloWorldAction extends ActionSupport {

    public String add(){

      return SUCCESS;

    }

    public String update(){

      return SUCCESS;

    }

    @Override
    public String execute() throws Exception {
      System.out.println("execute!");
      return SUCCESS;
    }

  }

即在函数中包含多个方法时,可以分别用method引用。由于每个方法都需要改写一个对应的配置文件,比较繁琐

②用感叹号的方法

  在struts.xml中添加以下代码

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

  在action中即可添加任意方法,如:

  <action name="helloworld" class="com.lzhc.action.HelloWorldAction">
    <result>/result.jsp</result>
    <result name="add">/add.jsp</result>
    <result name="update">/update.jsp</result>
  </action>

  在src中的com.lzhc.action包下的函数HelloWorldAction中添加以下方法:

  public String add(){
    return "add";
  }

  public String update(){
    return "update";
  }

再在webroot下添加add.jsp和update.jsp两个jsp文件,此时若要访问add方法,只需将地址写为:

http://localhost:8080/test/helloworld!add.action

③最为常用的是通配符的方式

    优点:只用配置一次struts.xml,只要按约定命名,就无需再改动

    <action name="helloworld_*" class="com.lzhc.action.HelloWorldAction" method="{1}">

      <result name="add">/{1}.jsp</result>

      <result name="update">/{1}.jsp</result>

    </action>

    *可任意匹配,{1}为方法名

    访问页面为http://localhost:8080/test/helloworld_add.action

    或直接写成:

    <action name="*_*" class="com.lzhc.action.{1}Action" method="{2}">

      <result name="add">/{2}.jsp</result>

      <result name="update">/{2}.jsp</result>

    </action>

    此时访问网页为http://localhost:8080/test/HelloWorld_add.action

    即http://localhost:8080/文件名/{1}_{2}.action

struts2学习笔记(2)action多个方法的动态调用的更多相关文章

  1. struts2学习笔记之八:Action中方法的动态调用

    方法一:action名称+!+方法名称+后缀 Action类中增加addUser()和delUser()方法, package com.djoker.struts2; import org.apach ...

  2. Struts2学习笔记(六)——Action处理请求参数

    在struts2框架中关于Action处理请求参数有两种方案(三个方式),表单属性的名称应该和在Action类中定义的成员属性或者在JavaBean中定义的成员属性名称一样: 1.属性驱动 1)直接在 ...

  3. Struts2学习笔记(三)——Action详解

    Action是用于处理请求操作的,它是由StrutsPrepareAndExceuteFilter分发过来的. 1.Action的创建方式 1) POJO类(PlainOldJavaObjects简单 ...

  4. Struts2学习笔记(五)——Action访问Servlet API

    在Strut2中访问Servlet API有三种方式: 1.通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API. 步骤: 1 ...

  5. Struts2 学习笔记(概述)

    Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...

  6. Struts2学习笔记⑧

    今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...

  7. Struts2学习笔记①

    Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...

  8. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  9. 前端学习笔记汇总(之merge方法)

    学习笔记 关于Jquery的merge方法 话不多说,先上图 使用jquery时,其智能提示如上,大概意思就是合并first和second两个数组,得到的结果是first+(second去重后的结果) ...

随机推荐

  1. 20个PHP面试题及答案

    php学了那么久了,先来小试牛刀,看下这些PHP程序员面试题都会不会?初级题目1.问题:请用最简单的语言描述PHP是什么?答:PHP全称:Hypertext Preprocessor,是一种用来开发动 ...

  2. MySQL 基础理论面试题整理

    前言: 之前整理公司面试题的时候,看了一篇大神些 SQL 优化之六脉神剑 文章,写的真好! 博主有一些 MySQL 的面试题,简单抽了一个备注一下,补充一下自己不熟悉的地方.   一.在MySQL中, ...

  3. Python学习之路day3-文件操作

    一.概述 作为IO操作的重要部分,文件操作需要经常用到,下面简述下python中操作文件的流程: 1. 打开文件,得到一个文件句柄并赋值给一个变量 f = open("test.txt&qu ...

  4. CMC 实例管理

    有人问我,用户用的BW-QUERY看报表挺快的,用了BO发现很慢. 我心想,不会是什么高级优化吧,我可不会. 发现用WEBI时看报表很慢.那这个还是好解决的. 前面说那种情况,解决方法我只知道一种上H ...

  5. 理解 JavaScript 对象原型、原型链如何工作、如何向 prototype 属性添加新的方法。

    JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象拥有一个原型对象,对象以其原型为模板.从原型继承方法和属性.原型对象也可能拥有原型, ...

  6. BestCoder Round #18(hdu5105)Math Problem(高中数学)

    最大值无非就是在两个端点或极值点处取得. 我注意讨论了a=0和b=0,却忽略了极值点可能不在L到R的范围内这一问题.被Hack了. #include<iostream> #include& ...

  7. PHP提供的数组比较函数总结

    在我们看PHP手册的时候发现,PHP提供了许多数组元素比较的函数,看起来又多又烦又不好记,现在我们来总结一下: sort() — 本函数对数组进行排序,当本函数结束时数组单元将被从最低到最高重新安排. ...

  8. Django之用户认证系统分析

    Django自带一个用户认证系统,这个系统处理用户账户.组.权限和基于cookie的会话,下面将通过分析django源码的方式仔对该系统进行详细分析 1. 用户模型 在django.contrib.a ...

  9. python_广州房价热力图

    调用百度地图api,获取经纬度数据,然后在调用百度地图api,生成热力图 import pandas as pd import numpy as np data = pd.read_excel(r'D ...

  10. CH5702 Count The Repetitions[倍增dp]

    http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%B ...