Struts2 入门案例——基于Struts2 任意两数据的代数和

基于Struts2 任意两数据的代数和

【问题】设计一个简单的 Web 程序,其功能是让用户输入两个整数,并提交给 Action,在 Action 中计算两个数的代数和,如果代数和为非负数,则跳转到 ch11_1_Positive.jsp 页面,否则跳转到 ch11_1_Negative.jsp 页面。

【设计步骤】

(1)建立 Web 工程并在web.xml 中配置核心控制器。

(2)设计和编写视图组件(使用JSP编写页面)。

(3)编写视图组件对应的业务控制器组件 Action。

(4)配置业务控制器 Action,即修改 struts.xml配置文件,配置Action。

(5)部署程序。

【系统的实现】

(1)在MyEclipse中创建Web工程 ch11_1_StrutsAdd,并导入Struts2 必需的 jar包。(基本搭建环境的包我已经上传资源中心)

(2)修改web.xml 配置文件,在web.xml中添加如下的配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 	<filter>
 		<filter-name>struts2</filter-name>
 		<filter-class>
 				org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
 		</filter-class>
 	</filter>
 	<filter-mapping>
 		<filter-name>struts2</filter-name>
 		<url-pattern>/*</url-pattern>
 	</filter-mapping>
</web-app>

注意:struts 2.5的版本中 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>没有 .ng,不然运行不了!

(3)编写JSP页面

①提交数据页面 ch11_1_Input.jsp ,代码如下:

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

<html>
  <head><title>提交两数据页面</title></head>
  <body>
    <form action="add" method="post">
    	请输入两个整数:<br><br>
    	加数:<input name="x"/><br><br>
    	被加数:<input name="y"/><br><br>
    	<input type="submit" value="求和">
    </form>
  </body>
</html>

②代数和为非负数时要跳转到页面 ch11_1_Positive.jsp,代码如下:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
  <head>
    <title>显示页面————代数和为非负整数</title></head>
  <body>
  		代数和为非负整数:<s:property value="sum"/>
  </body>
</html>

③代数和为负数时要跳转到页面 ch11_1_Negative.jsp,代码如下:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
  <head>
    <title>显示页面————代数和为负整数</title></head>
  <body>
    	代数和为负整数:<s:property value="sum"/>
  </body>
</html>

(4)设计控制类(Action类):Ch11_1_Action.java。

package Action;

public class Ch11_1_Action {
	private int x;
	private int y;
	private int sum;
	public int getX(){
		return x;
		}
	public void setX(int x){
		this.x = x;
	}
	public int getY(){
		return y;
	}
	public void setY(int y){
		this.y = y;
	}
	public int getSum(){		//利用该方法,将属性 sum 的值,传给要跳转到的视图中
		return sum;
	}
	public String execute(){
		sum=x+y;
		if(sum>=0)return "+";
		else return "-";
	}
}

(5)修改 struts.xml 配置文件,配置Action 代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<package name="default" namespace="/" extends="struts-default">
		<action name="add" class="Action.Ch11_1_Action">
			<result name="+">/ch11_1_Positive.jsp</result>
			<result name="-">/ch11_1_Negative.jsp</result>
		</action>
	</package>
</struts>

(6)部署该程序到 Tomcat 中运行,运行界面如图:

     

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值