文章目录
前言
作为个人学习记录,我会尽可能介绍的很详细,有误和不清楚地方可评论指正。
一、JavaBean规范
1.JavaBean类必须是一个公共类,其访问属性设置为 public;
2.JavaBean类中的成员变量(属性),其访问属性应为 private;
3.对于JavaBean类中的每一个成员属性,必须提供一组存取方法即setXX()方法和getXXX()方法来访问该属性;
4.一个JavaBean类需有一个不带参数的构造函数;
例如:在项目java文件目录com.model包下创建一个User类
package com.model;
public class User {
private String username;
private int age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
二、相关动作组件和用法
1.jsp:useBean创建一个bean组件
<jsp:useBean id="beanID" class="ClassName" scope="application|request|page|session"/>
</jsp:useBean>//双标记
1.beanID为创建对象名
**2.class为JavaBean地址 **
例如:创建一个u2对象,相当于User u1=new User();
<jsp:useBean id="u2" class="com.model.User"></jsp:useBean>
2.jsp:setProperty用来设定一个已被创建的bean组件的属性值
<jsp:setProperty name=" beanID " property="propertyName" value="propertyValue"/>
<jsp:setProperty name="beanId" property="propertyName" param="paramName"/>
1.只有value和param这两个标记不同,简单来说value是设定值,而param是从其他页面传值。
2.name对应需要设定的对象
3.propertyName为对象参数名
例如:实例化u2,相当于u1.setUsername("我来变强了");u1.setAge(18);
<jsp:setProperty property="username" name="u2" value="我来变强了"/>
<jsp:setProperty property="age" name="u2" value="18"/>
3. jsp:getProperty用来返回一个已被创建的bean组件的属性值。
<jsp:getProperty name="beanId“ property="propertyName" />
例如:获取用户名和年龄,相当于u1.getUsername("我来变强了");u1.getAge(18);
<jsp:getProperty property="username" name="u2"/>
<jsp:getProperty property="age" name="u2"/>
三、param的使用
1.实例全部代码:用javabean实现计算一个三角形的面积
要将此代码放入“java”文件夹任意包下,例子中为com.model包
package com.model;
public class Triangle {
private double al,bl,cl;
public double getArea(){
double p=(al+bl+cl)/2;
return Math.sqrt(p*(p-al)*(p-bl)*(p-cl));
}
public double getAl() {
return al;
}
public void setAl(double al) {
this.al = al;
}
public double getBl() {
return bl;
}
public void setBl(double bl) {
this.bl = bl;
}
public double getCl() {
return cl;
}
public void setCl(double cl) {
this.cl = cl;
}
}
2. 提交页面,name标签传值到jsp中param标签
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body bgcolor="pink">
三角形面积计算
<hr>
<form action="b.jsp" method="post">
三角形的a边:<input type="text" name="a"><br>
三角形的b边:<input type="text" name="b"><br>
三角形的c边:<input type="text" name="c"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
3.jsp实现页面 ,a的值实例化到t1对象的al参数里
<%@ 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>
<jsp:useBean id="t1" class="com.model.Triangle"></jsp:useBean>
<jsp:setProperty property="al" name="t1" param="a"/>
<jsp:setProperty property="bl" name="t1" param="b"/>
<jsp:setProperty property="cl" name="t1" param="c"/>
面积为:<%=t1.getArea()%>
</body>
</html>
此时:t1.al=3;......t1这个三角形的al边为3
四 、其他完整实例
package com.model;
public class Calculator {
private double num1,num2;
private String type;
public double getNum1() {
return num1;
}
public void setNum1(double num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public double getResult() {
if(type.equals("+")){
return num1+num2;
}else if(type.equals("-")){
return num1-num2;
}else if(type.equals("X")){
return num1*num2;
}else{
return num1/num2;
}
}
}
<!DOCTYPE html>
<HTML>
<HEAD>
<META charset="UTF-8">
<TITLE>Insert title here</TITLE>
</HEAD>
<BODY bgcolor="pink">
<DIV align="center">
<FONT size="20" color="green">简易计算器</FONT><BR>
<FORM action="d1.jsp" method="post">
第一个数:<INPUT type="text" name="s1"><BR>
第二个数:<INPUT type="text" name="s2"><BR>
操作类型:<SELECT name="type">
<OPTION value="+">+</OPTION>
<OPTION value="-">-</OPTION>
<OPTION value="X">X</OPTION>
<OPTION value="/">/</OPTION>
</SELECT>
<INPUT type="submit" value="提交">
</FORM>
</DIV>
</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>
<jsp:useBean id="c1" class="com.model.Calculator"></jsp:useBean>
<jsp:setProperty property="num1" name="c1" param="s1"/>
<jsp:setProperty property="num2" name="c1" param="s2"/>
<jsp:setProperty property="type" name="c1" param="type"/>
<jsp:getProperty property="num1" name="c1"/>
<jsp:getProperty property="type" name="c1"/>
<jsp:getProperty property="num2" name="c1"/>=<%=c1.getResult() %>
</body>
</html>
版权归原作者 我来变强了 所有, 如有侵权,请联系我们删除。