领域对象的Action类与属性驱动传参(实现两数相加)

it2023-03-01  78

需编写领域对象(模型类),在action中调用该模型的对象

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. 编写模型类

package bean; public class Add { private double x; private double y; private double sum; public Add() { super(); // TODO Auto-generated constructor stub } public Add(double x, double y) { super(); this.x = x; this.y = y; this.sum = this.x+this.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 x+y; } public void setSum(double sum) { this.sum = sum; } }

3.action类

package action; import bean.Add; public class AddAction { private Add add; public AddAction() { super(); // TODO Auto-generated constructor stub } public AddAction(Add add) { super(); this.add = add; } public Add getAdd() { return add; } public void setAdd(Add add) { this.add = add; } public String executeAdd() { String forward=null; if(add.getSum()<0) forward="-"; else { forward="+"; } return forward; } }

4.配置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.AddAction" method="executeAdd"> <result name="+">p.jsp</result> <result name="-">n.jsp</result> </action> </package> <include file="example.xml"/> <!-- Add packages here --> </struts>

5. 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="add.x"> 加数:<input type="text" name="add.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> ${add.x}+ ${add.y}= ${add.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> ${add.x}+ ${add.y}= ${add.sum} </body> </html>
最新回复(0)