繼承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>
相關文章
- css可繼承屬性和非繼承屬性一覽CSS繼承
- css屬性的可繼承性CSS繼承
- 一次 outline 去除經驗(非繼承屬性,看著像繼承)繼承
- 實現JavaScript繼承JavaScript繼承
- prototype實現繼承繼承
- [譯] 繼承 JavaScript 類中的靜態屬性繼承JavaScript
- 多繼承 與 多重繼承繼承
- 繼承的實現方式繼承
- Javascript如何實現繼承JavaScript繼承
- vue傳參之通過Vue屬性$route的params傳參Vue
- JS物件繼承時,對引用屬性的處理JS物件繼承
- CSS中可以和不可以繼承的屬性CSS繼承
- 好程式設計師前端教程css中可被繼承和不可被繼承的屬性程式設計師前端CSS繼承
- JSON繼承JsonConverter序列化與反序列化重寫類屬性JSON繼承
- js--如何實現繼承?JS繼承
- JS中繼承的實現JS中繼繼承
- ES6實現繼承繼承
- JavaScript實現繼承的方式JavaScript繼承
- 深刻理解php“繼承“、“私有屬性“、“$this指向“的關係PHP繼承
- es5繼承和es6繼承中靜態方法、靜態屬性的差異繼承
- Laravel 動態屬性的實現Laravel
- 這樣理解,java繼承中多型的屬性和方法Java繼承多型
- Javascript實現物件導向繼承JavaScript物件繼承
- C#如何實現多重繼承C#繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- aardio 實現封裝繼承多型封裝繼承多型
- JavaScript物件導向—繼承的實現JavaScript物件繼承
- JS 繼承的 六 種實現方式JS繼承
- js 原型鏈實現類的繼承JS原型繼承
- C語言實現繼承多型C語言繼承多型
- js實現繼承的三種方式JS繼承
- 如何用es5實現繼承繼承
- 手把手教你如何實現繼承繼承
- ES6 -> Javascript的類與繼承在Babel的實現JavaScript繼承Babel
- 繼承與多型繼承多型
- Maven 聚合與繼承Maven繼承
- css的繼承性及特例CSS繼承
- 舉例說明js如何實現繼承?JS繼承