使用javabean獲取表單數據並進行計算,以圓爲例:
首先java代碼:
package javaBean;
import java.io.Serializable;
public class circle implements Serializable {
private double r;
private double perimeter;
private double area;
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public double getPerimeter() {
return 2*Math.PI*r;
}
public void setPerimeter(double perimeter) {
this.perimeter = perimeter;
}
public double getArea() {
return Math.PI*r*r;
}
public void setArea(double area) {
this.area = area;
}
}
沒什麼好說的,get,set方法,系統自動生成就可以。接下來是jsp內容:
<%@page import="javaBean.circle"%>
<%@ 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>
<form action="c.jsp" method="post" name="myCircle"
class="javaBean.circle">
輸入圓半徑: <input type="text" name="rec" /> <input type="submit"
value="提交">
</form>
<jsp:useBean id="myCircle" class="javaBean.circle"></jsp:useBean>
<%
double R = 0;
request.setCharacterEncoding("utf-8");
try {
if (request.getParameter("rec") != null) {
R = Double.valueOf(request.getParameter("rec"));
}
myCircle.setR(R);
} catch (Exception e) {
out.println("<b>輸入不正確,請重新輸入!</b><br>");
}//使用trycatch避免用戶輸入鍵入非數字造成異常。
%>
<jsp:setProperty property="perimeter" name="myCircle" />
<jsp:setProperty property="area" name="myCircle" />
周長:<jsp:getProperty property="perimeter" name="myCircle" />
面積:<jsp:getProperty property="area" name="myCircle" />
</body>
</html>
接下來是效果圖:
用戶鍵入非數字時:
輸入數字5後提交效果: