package org.qiujy.service;
/**
*計算器業務邏輯類
*@authorAdministrator
*/
publicclass Calculator {
/**
*加法運算
*@paramafirstNumber
*@parambsecondNumber
*@returnresult
*/
publicdouble add(double a, double b){
return a + b;
}
/**
*減法運算
*@parama
*@paramb
*@return
*/
publicdouble subtract(double a, double b){
return a - b;
}
/**
*乘法運算
*@parama
*@paramb
*@return
*/
publicdouble multiply(double a, double b){
return a * b;
}
/**
*除法運算
*@parama
*@paramb
*@return
*/
publicdouble divide(double a, double b){
return a / b;
}
}
|
package org.qiujy.controller;
import org.qiujy.service.Calculator;
/**
*受管Bean
*
*@authorAdministrator
*
*/
publicclass CalculatorController {
/** Representthemodelobject.*/
private Calculator calculator = new Calculator();
/**Firstnumberusedinoperation.*/
privatedoublefirstNumber = 0;
/**Resultofoperationonfirstnumberandsecondnumber.*/
privatedoubleresult = 0;
/**Secondnumberusedinoperation.*/
privatedoublesecondNumber = 0;
public Calculator getCalculator() {
returncalculator;
}
publicvoid setCalculator(Calculator calculator) {
this.calculator = calculator;
}
publicdouble getFirstNumber() {
returnfirstNumber;
}
publicvoid setFirstNumber(double firstNumber) {
this.firstNumber = firstNumber;
}
publicdouble getResult() {
returnresult;
}
publicvoid setResult(double result) {
this.result = result;
}
publicdouble getSecondNumber() {
returnsecondNumber;
}
publicvoid setSecondNumber(double secondNumber) {
this.secondNumber = secondNumber;
}
/**
*Addsthefirstnumberandsecondnumbertogether.
*@returnnextlogicaloutcome.
*/
public String add() {
result = calculator.add(firstNumber, secondNumber);
return"success";
}
public String subtract() {
result = calculator.subtract(firstNumber, secondNumber);
return"success";
}
/**
*Multipliesthefirstnumberandsecondnumbertogether.
*@returnnextlogicaloutcome.
*/
public String multiply() {
result = calculator.multiply(firstNumber, secondNumber);
return"success";
}
public String divide() {
result = calculator.divide(firstNumber, secondNumber);
return"success";
}
}
|
<managed-bean>
<managed-bean-name>CalcBean</managed-bean-name>
<managed-bean-class>
org.qiujy.controller.CalculatorController
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
|
<navigation-rule>
<from-view-id>/calculator.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/result.jsp</to-view-id>
</navigation-case>
</navigation-rule>
|
<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<head>
<title>My JSF 'calculator.jsp' starting page</title>
</head>
<body>
<f:view>
<h:form id="calcForm">
<h:panelGrid columns="3">
<h:outputLabel value="第一個數" for="firstNumber" />
<h:inputText id="firstNumber" value="#{CalcBean.firstNumber}"
required="true" />
<h:message for="firstNumber" />
<h:outputLabel value="第二個數" for="secondNumber" />
<h:inputText id="secondNumber" value="#{CalcBean.secondNumber}"
required="true" />
<h:message for="secondNumber" />
</h:panelGrid>
<h:panelGroup>
<h:commandButton id="submitAdd" action="#{CalcBean.add}"
value="加" />
<h:commandButton id="submitSubtract" action="#{CalcBean.subtract}"
value="減" />
<h:commandButton id="submitMultiply" action="#{CalcBean.multiply}"
value="乘" />
<h:commandButton id="submitDivide" action="#{CalcBean.divide}"
value="除" />
</h:panelGroup>
</h:form>
</f:view>
</body>
</html>
|
<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<head>
<title>My JSF 'calculator.jsp' starting page</title>
</head>
<body>
<f:view>
第一個數: <h:outputText id="firstNumber" value="#{CalcBean.firstNumber}" />
<br />
第二個數: <h:outputText id="secondNumber" value="#{CalcBean.secondNumber}" />
<br />
結果: <h:outputText id="result" value="#{CalcBean.result}" />
<br />
</f:view>
</body>
</html>
|