继承ActionSupport 实现Action与属性驱动传参
在action中继承ActionSupport 类,重写execute方法
所用到的 jar 包
1.配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>Struts Blank</display-name><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>
2.action接口
package action;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")
public class SumActionSupport extends ActionSupport {private double x;private double y;private double sum;public String execute() {String forward = "-";sum = x + y;if (sum > 0)forward = "+";return forward;}public SumActionSupport() {super();// TODO Auto-generated constructor stub}public SumActionSupport(double x, double y) {super();this.x = x;this.y = y;this.sum = x + y;}public double getX() {return x;}public void setX(double x) {this.x = x;}public double getY() {return y;}public void setY(double y) {this.y = y;}public double getSum() {return sum;}public void setSum(double sum) {this.sum = sum;}}
3.配置struts.xml文件
<?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><!-- <constant name="struts.enable.DynamicMethodInvocation" value="false" /><constant name="struts.devMode" value="true" /> --><package name="default" namespace="/" extends="struts-default"><!-- <default-action-ref name="index" /><global-results><result name="error">/WEB-INF/jsp/error.jsp</result></global-results><global-exception-mappings><exception-mapping exception="java.lang.Exception" result="error"/></global-exception-mappings> --><action name="opadd" class="action.SumActionSupport" method="execute"><result name="+">p.jsp</result><result name="-">n.jsp</result></action></package><include file="example.xml"/><!-- Add packages here --></struts>
由于action中的execute为默认方法,method属性可以省略
4.input.jsp页面、p.jsp页面、n.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form action="opadd" method="post">加数:<input type="text" name="x">加数:<input type="text" name="y"><input type="submit" value="提交"></form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>${x}+ ${y}= ${sum}
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>${x}+ ${y}= ${sum}
</body>
</html>
继承ActionSupport 实现Action与属性驱动传参相关推荐
- vue路由传参的三种方式/含页面刷新参数丢失解决方案(详细)
vue路由传参的三种方式以及页面刷新参数丢失问题 一.路由传参的三种方式 1.传参方式一:params传参 2.传参方式二:路由属性配置传参 3.传参方式三:query传参 二.三种传递方式的区别 一 ...
- Vue路由传参三种方式
Vue路由传参三种方式 params传参 路由属性配置传参 query传参 一.params传参 this.$router.push({ name:"admin", //这里的pa ...
- class传参 python_Python类的概念、定义、属性、继承
1.面向对象(Object Oriented,OO)概念 面向对象,是我们编程的一种思维. 早期的计算机编程是基于面向过程的方法,例如实现算术运算1+1+2 = 4,通过设计一个算法就可以解决当时的问 ...
- Struts2学习日记(二)简单的Struts2登陆实现(Action继承ActionSupport类)
功能实现:实现登陆功能,输入用户名和密码,如果用户名不为hello或者密码不为world,便返回登陆页并提示错误,否则显示登陆结果. 1.打开MyEclipse,创建一个webProject项目. 2 ...
- #十二、编写三角形类Triangle,初始化三个属性,分别是三条边的长度,定义一个计算并打印周长的函数 #十三、编写等腰三角形类EWtriangle,继承于三角形类,初始化只用传一个腰长和一个底长,定
#十二.编写三角形类Triangle,初始化三个属性,分别是三条边的长度,定义一个计算并打印周长的函数 #十三.编写等腰三角形类EWtriangle,继承于三角形类,初始化只用传一个腰长和一个底长,定 ...
- Struts2实现Preparable接口和【struts2】继承ActionSupport类
Struts2实现Preparable接口 实现preparable接口,实现public void prepare() throws Exception 方法.当你访问某问action指定方法之前, ...
- Strut2的属性驱动,模型驱动的理解
因为在struts1的版本中,属性的拦截以及控制的处理是被封装为两个对立的ActionForm.Action来获取HttpServerRequest的参数.控制访问MAPPING的.而在Struts2 ...
- (九)模型驱动和属性驱动
出于结构清晰的考虑,应该采用单独的Model实例来封装请求参数和处理结果,这就是所谓的模型驱动, 所谓模型驱动,就是使用单独的JavaBean来贯穿整个MVC流程. 所谓属性驱动,就是使用属性来作为贯 ...
- Struts2中Action的属性接收参数
Struts2中Action的属性接收参数,有三种传递并接收参数的方式,第一种是在Action添加成员属性接收参数,第二种是域模型,就是利用对象域来进行传递和接收参数,第三种是ModelDriven接 ...
- stucts2 页面上的值如何与Action的属性值对应
在Strut2中,页面的数据和Action有两种基本对应方式:分别是:属性驱动(FieldDriven)和模型驱动(ModelDriven).属性驱动又分为两种情况:一种是基本数据类型的属性对应:另一 ...
最新文章
- 批量将PPM格式图片转化为JPG格式
- 2012,字王强势回归
- JSF----事件处理----实时事件
- php 755,chmod 命令——chmod 755与 chmod 4755区别_PHP教程
- 使用NLTK实现stemming
- 微信支付功能和安装开发软件顺序
- xp计算机启动检测硬盘,取消WinXP开机自检技巧五则
- vim 修改注释颜色 tab键
- 此博客更新较慢,主要用于微信公众号“申龙斌的程序人生”的备份了
- The following packages have unmet dependencies
- 96Boards MIPI CSI Camera Mezzanine
- 【分享】微信公众号在 “集简云平台“ 集成应用的常见问题与解决方案
- 豆芽的生长过程观察日记-绿豆发芽观察日记7天-2021年
- 跟着鸟哥学linux【二】
- Apache Flink介绍、架构、原理以及实现
- Python 08-文件读写
- hyper-v虚拟机常用命令
- R basics: R语言修改默认显示语言
- 利用CMD命令有效的查病毒***方法
- 前端判断文件后缀名_JS 获取文件后缀,判断文件类型(比如是否为图片格式)