一: 模型 (javaBean)
public class Bean {
double numOne,numTwo,result;
String operator="+";
public double getNumOne() {
return numOne;
}
public void setNumOne(double numOne) {
this.numOne = numOne;
}
public double getNumTwo() {
return numTwo;
}
public void setNumTwo(double numTwo) {
this.numTwo = numTwo;
}
public double getResult() {
return result;
}
public void setResult(double result) {
this.result = result;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
}
二: 視圖 (jsp頁面)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<jsp:useBean id="digitBean" class="mybean.data.Bean" scope="session" />
<html>
<body bgcolor="#efddfa">
<form action="compute" name=form method="post">
<table>
<tr> <td> 輸入兩個數:</td>
<td> <input type=text name="numOne" value=0 size=6></td>
<td><input type=text name="numTwo" value=0 size=6> </td>
</tr>
<tr>
<td> 請選擇運算符號:</td>
<td>
<select name="operator">
<option value="+">+加
<option value="-">-減
<option value="*">*乘
<option value="/">/除
</select>
</td>
<td><input type="submit" value="提交" name = "sub"> </td>
</tr>
</table>
</form>
運算結果:
<jsp:getProperty property="numOne" name="digitBean"/>
<jsp:getProperty property="operator" name="digitBean"/>
<jsp:getProperty property="numTwo" name="digitBean"/> =
<jsp:getProperty property="result" name="digitBean"/>
</body>
</html>
三: 控制器(servlet)
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import mybean.data.Bean;
public class compute extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Bean digitBean = null;
HttpSession session = request.getSession(true);
try
{
digitBean = (Bean)session.getAttribute("digitBean");
if(digitBean==null)
{
digitBean = new Bean();
session.setAttribute("digitBean", digitBean);
}
}
catch(Exception e)
{
digitBean = new Bean();
session.setAttribute("digitBean", digitBean);
}
String str1 = request.getParameter("numOne");
String str2 = request.getParameter("numTwo");
if(str1==null || str2==null)
return;
if(str1.length()==0 || str2.length()==0)
return;
double numOne = Double.parseDouble(str1);
double numTwo = Double.parseDouble(str2);
String operator = request.getParameter("operator");
double result = 0;
if(operator.equals("+"))
result = numOne+numTwo;
else if(operator.equals("-"))
result = numOne-numTwo;
else if(operator.equals("*"))
result = numOne*numTwo;
else
result = numOne/numTwo;
digitBean.setNumOne(numOne);
digitBean.setNumTwo(numTwo);
digitBean.setOperator(operator);
digitBean.setResult(result);
response.sendRedirect("index.jsp");
}
}