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

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.Action;

public class UserAction {

    private String username;

    private String password;

    private int age;

    private String address;

    private String email;

    public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
} public String execute() throws Exception {
System.out.println("username: " + username);
System.out.println("password: " + password);
System.out.println("age:" + age);
System.out.println("address" + address);
System.out.println("email: " + email);
return "success";
} public String addUser() throws Exception {
ServletActionContext.getRequest().setAttribute("msg", username);
return Action.SUCCESS;
} public String delUser() throws Exception {
ServletActionContext.getRequest().setAttribute("msg", username);
return Action.SUCCESS;
}
}
struts.xml中Action配置(注意,配置文件中没有制定详细的方法,只是指定了一个name,)
<package name="user" extends="struts-default">
<action name="user" class="com.djoker.struts2.UserAction">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
jsp中如何调用该Action中不同的方法
    <form action="user!addUser.action" method="post">
<!-- form action="user!delUser.action" method="post" -->
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
年龄:<input type="text" name="age"><br>
地址:<input type="text" name="address"><br>
邮箱:<input type="text" name="email"><br>
<input type="submit" value="登录">
</form>
方法二:多方法调用,创建多个action来指定不同的方法(不推荐该方法,如果有多个方法需要写多个Action)
struts.xml方法中的配置
<package name="user" extends="struts-default">
<action name="addUser" class="com.djoker.struts2.UserAction" method="addUser">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="delUser" class="com.djoker.struts2.UserAction" method="delUser">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
jsp中如何调用
<form action="addUser.action" method="post">
<!-- form action="delUser.action" method="post" -->
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
年龄:<input type="text" name="age"><br>
地址:<input type="text" name="address"><br>
邮箱:<input type="text" name="email"><br>
<input type="submit" value="登录">
</form>
方法三:使用通配符配置,需要遵循一定的规范
struts.xml中的配置使用通配符
    <package name="user" extends="struts-default">
<action name="*User" class="com.djoker.struts2.UserAction" method="{1}User">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
jsp中需要按照该规范来调用

struts2学习笔记之八:Action中方法的动态调用的更多相关文章

  1. Struts2学习笔记(二) 使用通配符动态调用方法

    <package name="other" extends="struts-default"> <action name="xxx_ ...

  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_7_Action类中方法的动态调用

    (一)直接调用方法(不推荐使用) 1)Action类: private String savePath; public String getSavePath() { return savePath; ...

  6. Struts2 学习笔记(概述)

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

  7. Struts2学习笔记⑧

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

  8. Struts2学习笔记①

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

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

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

随机推荐

  1. javascript实现字符串的截取

    截取字符串方法有很多的,(不含根据传入参数截取成数组的split()方法)这里说的是子字符串,所以不说split()方法了. slice(),substr(),substring()一共三种方法,其中 ...

  2. 《UML大战需求分析》阅读笔记5

    流程分析利器三,顺序图. 顺序图描述的是一件事发生的顺序,按照时间的发展,事情的走向,其中分为角色,消息等,每个角色下面都有一条生命线,从上到下,从左到右,依次进行事件,没有事情的时候用虚线表示,而有 ...

  3. C#中语音合成简单使用

    我使用的是vs2013 1.在项目中添加引用,项目->添加引用->COM选择Microsoft Speech Object Library 2.在需要使用语音合成的地方调用代码: SpVo ...

  4. terminal崩溃打不开的一种原因以及ubuntu下matlab权限不够的解决办法

    为了解决点击matlab图标闪退的问题,我往.bashrc添加了如下命令: source /usr/local/MATLAB/R2015b/bin/matlab 结果导致打开新的terminal闪退. ...

  5. 【洛谷P3385】模板-负环

    这道题普通的bfs spfa或者ballen ford会T 所以我们使用dfs spfa 原因在于,bfs sfpa中每个节点的入队次数不定,退出操作不及时,而dfs则不会 既然,我们需要找负环,那么 ...

  6. 安卓开发:DateUtils

    public class DateUtils{ /** * 显示友好时间 * * @param ms * @return */ public static String getTimeDes(long ...

  7. HTTP版本进化过程

    http版本之间的区别以及变化过程[更新中...]

  8. HTML的ul和li标签的使用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. html入门问题_2016-10-29

    在mac机器上,用Safari打开html文件 1. 如果html里有中文,则在<head><meta http-equiv="Content-Type" con ...

  10. Android中 int 和 String 互相转换的多种方法

    1 如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([ ...