【JAVAEE】Struts2-多方法Action设计与配置访问
本文最后更新于 1502 天前,其中的信息可能已经有所发展或是发生改变。

1.设计一个领域类
com.model/Calculate.java

[sourcecode language=”java” title=”com.model/Calculate.java”]
package com.model;

public class Calculate {
private double x;
private double 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 add(){
return x+y;
}
public double sub(){
return x-y;
}
public double mul(){
return x*y;
}
public double div(){
return x/y;
}
}[/sourcecode]

2.设计Action。
com.action/CalculateAction.java

[sourcecode language=”java” title=”com.action/CalculateAction.java”]
package com.action;

import com.model.Calculate;
import com.opensymphony.xwork2.ActionSupport;

public class CalculateAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private Calculate data;
private String msg;
private double value;

public Calculate getData() {
return data;
}
public void setData(Calculate data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public double getValue() {
return value;
}
public void setValue(double value) {
this.value = value;
}
public String add() throws Exception{
value=data.add();
msg="你选择的是求和运算";
return "show";
}
public String sub() throws Exception{
value=data.sub();
msg="你选择的是求差运算";
return "show";
}
public String mul() throws Exception{
value=data.mul();
msg="你选择的是求积运算";
return "show";
}
public String div() throws Exception{
value=data.div();
msg="你选择的是求商运算";
return "show";
}
}[/sourcecode]

3.设计提交数据页面。
input.jsp

[sourcecode language=”html” title=”input.jsp”]
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>提交数据页面</title>
<script type="text/javascript">
function sub(){document.aaa.action="sub"};
function mul(){document.aaa.action="mul"};
function div(){document.aaa.action="div"};
</script>
</head>
<body>
<form action="add" method="post" name="aaa">
请输入两个整数:<br><br>
第一个运算数:<input name="data.x"/><br><br>
第二个运算数:<input name="data.y"/><br><br>
<input type="submit" value="求和"/>
<input type="submit" value="求差" onclick="sub()">
<input type="submit" value="求积" onclick="mul()">
<input type="submit" value="求商" onclick="div()">
</form>
</body>
</html>[/sourcecode]

4.设置显示运行结果的页面。
show.jsp

[sourcecode language=”html” title=”show.jsp”]
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
${msg}
<br>第一个数为:${data.x}
<br>第二个数为:${data.y}
<br>运算结果为:${value}
</body>
</html>[/sourcecode]

5.配置struts.xml。
方法一:为Action配置method属性
struts.xml

[sourcecode language=”xml” title=”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>
<package name="default" namespace="/" extends="struts-default">

<action name="add" class="com.action.CalculateAction" method="add">
<result name="show">/show.jsp</result>
</action>
<action name="sub" class="com.action.CalculateAction" method="sub">
<result name="show">/show.jsp</result>
</action>
<action name="mul" class="com.action.CalculateAction" method="mul">
<result name="show">/show.jsp</result>
</action>
<action name="div" class="com.action.CalculateAction" method="div">
<result name="show">/show.jsp</result>
</action>

</package>
</struts>[/sourcecode]

方法二:动态方法调用
1.struts.xml

[sourcecode language=”xml” title=”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="true"></constant>
<package name="default" namespace="/" extends="struts-default">

<action name="FourOp" class="com.action.CalculateAction" >
<result name="show">/show.jsp</result>
</action>

</package>
</struts>[/sourcecode]

2.修改提交页面数据页面
input.jsp

[sourcecode language=”html” title=”input.jsp”]
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>提交数据页面</title>
<script type="text/javascript">
function sub(){document.aaa.action="FourOp!sub"};
function mul(){document.aaa.action="FourOp!mul"};
function div(){document.aaa.action="FourOp!div"};
</script>
</head>
<body>
<form action="FourOp!add" method="post" name="aaa">
请输入两个整数:<br><br>
第一个运算数:<input name="data.x"/><br><br>
第二个运算数:<input name="data.y"/><br><br>
<input type="submit" value="求和"/>
<input type="submit" value="求差" onclick="sub()">
<input type="submit" value="求积" onclick="mul()">
<input type="submit" value="求商" onclick="div()">
</form>
</body>
</html>[/sourcecode]

方法三:使用通配符映射方式
1.struts.xml

[sourcecode language=”xml” title=”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="true"></constant>
<package name="default" namespace="/" extends="struts-default">

<action name="FourOp_*" class="com.action.CalculateAction" method="{1}">
<result name="show">/show.jsp</result>
</action>

</package>
</struts>[/sourcecode]

2.修改提交页面数据页面
input.jsp

[sourcecode language=”html” title=”input.jsp”]
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>提交数据页面</title>
<script type="text/javascript">
function sub(){document.aaa.action="FourOp_sub"};
function mul(){document.aaa.action="FourOp_mul"};
function div(){document.aaa.action="FourOp_div"};
</script>
</head>
<body>
<form action="FourOp_add" method="post" name="aaa">
请输入两个整数:<br><br>
第一个运算数:<input name="data.x"/><br><br>
第二个运算数:<input name="data.y"/><br><br>
<input type="submit" value="求和"/>
<input type="submit" value="求差" onclick="sub()">
<input type="submit" value="求积" onclick="mul()">
<input type="submit" value="求商" onclick="div()">
</form>
</body>
</html>[/sourcecode]

项目下载:[bdbtn]https://pan.benzhu.xyz/%E4%BB%A3%E7%A0%81/%E6%BA%90%E4%BB%A3%E7%A0%81/%E9%A1%B9%E7%9B%AE/Struts2-%E5%A4%9A%E6%96%B9%E6%B3%95Action%E8%AE%BE%E8%AE%A1%E4%B8%8E%E9%85%8D%E7%BD%AE%E8%AE%BF%E9%97%AE.rar[/bdbtn]
效果图:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇