struts2支持调用指定Action类中某一个业务方法。如果没有指定,则调用execute方法。

1. 第一种实现方式,通过URL叹号参数

1.1 创建Action类,带多个方法

package com.clzhang.ssh.demo4;

public class ListAction {
public String listUser() {
System.out.println("列出员工信息");
return "user";
} public String listSalarySum() {
System.out.println("列出员工总工资信息");
return "sum";
} public String execute() {
System.out.println("执行了execute方法");
return "default";
}
}

1.2 配置文件如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<package name="myStruts" extends="struts-default">
<global-results>
<result name="user">/ssh/demo4/user.jsp</result>
<result name="sum">/ssh/demo4/sum.jsp</result>
<result name="default">/ssh/demo4/default.jsp</result>
</global-results> <action name="list" class="com.clzhang.ssh.demo4.ListAction">
</action>
</package> <constant name="struts.action.extension" value="action"></constant>
</struts>

上述配置文件中使用了全局result,只需配置一次,其它任何地方用到此配置的都不需要再行配置。

1.3 各JSP文件如下

user.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
员工列表
</body>
</html>

sum.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
总工资列表
</body>
</html>

default.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
默认的execute()语句
</body>
</html>

1.4 调用

1.4.1 打开IE,输入:http://127.0.0.1:8080/st/ssh/list.action

结果如下:

1.4.2 打开IE,输入:http://127.0.0.1:8080/st/ssh/list!listUser.action

结果如下:

2. 第二种实现方式,在Action标记中加入method属性

2.1 创建类,同上

2.2 配置文件如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<package name="myStruts" extends="struts-default">
<global-results>
<result name="user">/ssh/demo4/user.jsp</result>
<result name="sum">/ssh/demo4/sum.jsp</result>
<result name="default">/ssh/demo4/default.jsp</result>
</global-results> <action name="listSalarySum" class="com.clzhang.ssh.demo4.ListAction" method="listSalarySum">
</action> <action name="listUser" class="com.clzhang.ssh.demo4.ListAction" method="listUser">
</action>
</package> <constant name="struts.action.extension" value="action"></constant>
</struts>

2.3 各JSP文件同上

2.4 测试

2.4.1 打开IE,输入:http://127.0.0.1:8080/st/ssh/listSalarySum.action

结果如下:

3. 第三种实现方式,在表单提交按钮中加入method属性

参考struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)

最新文章

  1. 安装oracle数据库,登录 时无法连接目标机
  2. Android studio 提高导入项目的速度
  3. JSP_通过表格显示数据库的信息
  4. Code[VS] 2370 LCA 题解
  5. 17数据表&amp;E-R模型&amp;概念数据模型上-选学天轰穿大话数据库视频教程
  6. 《黄聪:手机移动站SEO优化教程》4、如何实现手机移动网站和PC站点的自主适配
  7. iOS开发之自定义输入框(利用UITextField及UITextView)
  8. 解决mdi窗体闪烁的问题
  9. spark未来的发展方向
  10. 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
  11. Ubuntu &amp; GitLab CI &amp; Docker &amp; ASP.NET Core 2.0 自动化发布和部署(2)
  12. 基于C语言的UTF-8中英文替换密码设计
  13. CSS难点 为什么height设置100%会失效,分栏目等高布局(高度自适用布局)的实现方案
  14. spring 事物不回滚
  15. 解决Javascript中$(window).resize()多次执行(转)
  16. 三种实现Android主界面Tab的方式
  17. selectionStart和selectionEnd属性
  18. HTTP协议是什么
  19. #CSS 文本溢出部分显示省略号
  20. linux 使用NSF 映射远程磁盘目录

热门文章

  1. jquery数组(sort() 排序)
  2. L3-020 至多删三个字符 (30 分) 线性dp
  3. C++对文本文件的读取和输出
  4. 类 __new__方法实现单例
  5. ARIMA模型---时间序列分析---温度预测
  6. 洛谷 p1164 小A点菜 【dp(好题)】 || 【DFS】 【恰好完全装满】
  7. 001.Docker简介概述
  8. flask源码剖析
  9. vue那些事儿
  10. 探秘Tomcat(一)