方法一: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. vuejs 和 element 搭建的一个后台管理界面

    介绍: 这是一个用vuejs2.0和element搭建的后台管理界面. 相关技术: vuejs2.0:渐进式JavaScript框架,易用.灵活.高效,似乎任何规模的应用都适用. element:基于 ...

  2. thinkphp3.2.3批量执行sql语句(带事务)

    /** * 事务封装方法 * @access public 将此方法放入框架model.class.php中 * @param array $sqls 要执行的sql数组或语句 * @param ar ...

  3. Android 文章列表

    Android  --列表-- Android(1)-Handler Looper Message MessageQueuehttp://www.cnblogs.com/TS-qrt/articles ...

  4. Win7下硬盘安装Linux双系统

    Win7下硬盘安装CentOS6.2 一.准备工作:划出磁盘空闲空间和准备安装文件  参考文献: [Win7下硬盘安装Linux总结(CentOS)]来源:Linux社区  作者:lixianlin ...

  5. HTTP 302 404 500 状态消息

    1xx:信息 100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求. 101 Switching Protocols 服务器转换协议:服务器将 ...

  6. IIS 部署 node.js ---- 基础安装部署

    一些可能有用的相关文章: https://blogs.msdn.microsoft.com/scott_hanselman/2011/11/28/window-iisnode-js/ http://b ...

  7. [转]JavaScript字符串函数大全

    JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...

  8. ListView之头部浮动效果

    ListView 中有时需要在顶部固定一个浮动栏,当向上滑动 ListView 时,浮动栏固定在顶部,当向下滑动 ListView 到其 HeaderView 可见时,浮动栏成为ListView的一部 ...

  9. [Python] Pitfalls: Be Careful with os.chdir

    One thing you need to keep in mind is that when using os.chdir to change the working directory of cu ...

  10. java内存泄漏

    java内存泄漏主要分成两个方面: (1)堆中申请的空间没有被释放 (2)对象已不在被使用,但是仍然存在在内存当中 以下集中情况可能会导致内存泄漏 (1)静态集合的使用hashmap和vector,静 ...