JSP中JavaBean设置通过表单设置bean相应属性的值(setProperty)的注意事项

如果使用HTTP表单的参数的值来设置bean中相对应的属性的值可以使用如下setProperty标记:

使用上述标记设置bean的属性值,要求bean的"属性名"和表单中所对应的"参数名"相同(注意:大小写也要相同),该标记不再具体指定beans属性的值对应表单中哪个参数指定的值,系统会自动根据名字进行匹配对应。

下面以身试法:

JSP页面通过表单输入三角形的三边的长度并提交给页面,表单提交后,JSP页面将计算三角形面积的任务交给一个bean去完成

1.三角形bean

Triangle.java

package tom;


public class Triangle {
		double sideA,sideB,sideC;//注意是三边是小写s开头
		double area;
		boolean isTriangle;



		public double getSideA() {
			return sideA;
		}
		public void setSideA(double newSideA) {
			sideA = newSideA;
		}
		public double getSideB() {
			return sideB;
		}
		public void setSideB(double newSideB) {
			sideB = newSideB;
		}
		public double getSideC() {
			return sideC;
		}
		public void setSideC(double newSideC) {
			sideC = newSideC;
		}
		public double getArea() {
			double p = (sideA+sideB+sideC)/2.0;
			area = Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
			return area;
		}
		public boolean isTriangle() {
			if(sideA

JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    




Insert title here


		

输入三角形的边A:

输入三角形的边B:

输入三角形的边C:

你给出的三边是:
边A是:
边B是:
边C是:

这三边能构成一个三角形吗?

面积是:


运行结果截图:

输入数据:

JSP中JavaBean设置通过表单设置bean相应属性的值(setProperty)的注意事项_第1张图片

提交:

提交后可以看到下图结果,jsp页面没有取到bean中属性的值,这是因为上述使用表单中三边的参数名是SideA,SideB,SideC,而bean中三边属性是sideA,sideB,sideC。

JSP中JavaBean设置通过表单设置bean相应属性的值(setProperty)的注意事项_第2张图片

修改jsp页面中表单中三边的参数名,使其与bean中大小写一致,即:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    




Insert title here


		

输入三角形的边A:

输入三角形的边B:

输入三角形的边C:

你给出的三边是:
边A是:
边B是:
边C是:

这三边能构成一个三角形吗?

面积是:

输入:

JSP中JavaBean设置通过表单设置bean相应属性的值(setProperty)的注意事项_第3张图片

提交:

得到正确的结果

JSP中JavaBean设置通过表单设置bean相应属性的值(setProperty)的注意事项_第4张图片


你可能感兴趣的:(JSP中JavaBean设置通过表单设置bean相应属性的值(setProperty)的注意事项)