从制造到创造
软件工程师成长之路
BlogJava
首页
新文章
新随笔
聚合
管理
posts - 234, comments - 64, trackbacks - 0
JSP与JavaBean
JSP动态网页设计之JSP与JavaBean。编程环境:Java 5.0.8+eclipse 3.2 + MyEclipse 5.0 + Tomcat 5.5.17
好,学完理论,下面编写代码:
打开eclipse,新建一个MyEclipse下面J2EE类的web项目,如图:
项目名为:JspJiLinCh06,今天所有代码的树型图如下:
新建一个com.coderdream.bean 包,然后新建一个SampleBean1类,代码如下:
1
package
com.coderdream.bean;
2
3
public
class
SampleBean1 {
4
5
private
String str;
6
7
public
SampleBean1() {
8
//
TODO 自动生成构造函数存根
9
}
10
11
public
String getStr() {
12
return
str;
13
}
14
15
public
void
setStr(String str) {
16
this
.str
=
str;
17
}
18
19
}
然后再新建一个sample1.jsp页面,代码如下:
1
<%
@ page language
=
"
java
"
contentType
=
"
text/html; charset=GB2312
"
%>
2
<
jsp:useBean id
=
"
smBean
"
class
=
"
com.coderdream.bean.SampleBean1
"
></
jsp:useBean
>
3
<
html
>
4
<
head
>
5
<
title
>
一个简单的JavaBean程序
</
title
>
6
</
head
>
7
<
body
>
8
<
center
>
9
<%
10
smBean.setStr(
"
这是我的第一个JavaBean程序!
"
);
11
%>
12
<%=
smBean.getStr()
%>
13
</
center
>
14
</
body
>
15
</
html
>
将项目发布后,打开Tomcat 服务器,输入网址,结果为:
下面来看看如何使用的两个标记:分别建立SampleBean2类和两个页面文件sample2.html和sample2.jsp,代码如下:
SampleBean2.java
1
package
com.coderdream.bean;
2
3
public
class
SampleBean2 {
4
5
private
String id;
6
private
String age;
7
8
public
SampleBean2() {
9
//
TODO 自动生成构造函数存根
10
}
11
12
public
String getAge() {
13
return
age;
14
}
15
16
public
void
setAge(String age) {
17
this
.age
=
age;
18
}
19
20
public
String getId() {
21
return
id;
22
}
23
24
public
void
setId(String id) {
25
this
.id
=
id;
26
}
27
28
}
sample2.html
1
<
html
>
2
<
head
>
3
<
title
>
使用
<
jsp:Property
>
和
<
jsp:setProperty
>
标记
</
title
>
4
<
meta
http-equiv
="content-type"
content
="text/html; charset=GB2312"
>
5
</
head
>
6
7
<
body
>
8
<
form
name
="form1"
action
="sample2.jsp"
method
="post"
>
9
<
table
align
="center"
border
="0"
>
10
<
tr
>
11
<
td
>
编号:
</
td
>
12
<
td
><
input
type
="text"
name
="id"
></
td
>
13
</
tr
>
14
<
tr
>
15
<
td
>
年龄:
</
td
>
16
<
td
><
input
type
="text"
name
="age"
></
td
>
17
</
tr
>
18
<
tr
>
19
<
td
><
input
type
="submit"
value
="提交"
></
td
>
20
<
td
><
input
type
="reset"
value
="重填"
></
td
>
21
</
tr
>
22
</
table
>
23
</
form
>
24
</
body
>
25
</
html
>
26
sample2.jsp
<%
@ page language
=
"
java
"
contentType
=
"
text/html; charset=GB2312
"
%>
<
jsp:useBean
id
="splBean"
class
="com.coderdream.bean.SampleBean2"
></
jsp:useBean
>
<
html
>
<
head
>
<
title
>
My JSP 'sample1.jsp' starting page
</
title
>
</
head
>
<
body
>
<!--
jsp:setProperty name="splBean" property="*"/
-->
<!--
jsp:setProperty name="splBean" property="id"/
-->
<!--
jsp:setProperty name="splBean" property="age"/
-->
<!--
jsp:setProperty name="splBean" property="id" param="id"/
-->
<!--
jsp:setProperty name="splBean" property="age" param="age"/
-->
<
jsp:setProperty
name
="splBean"
property
="id"
value
="${param.id}"
/>
<
jsp:setProperty
name
="splBean"
property
="age"
value
="${param.age}"
/>
<!--
jsp:setProperty name="splBean" property="id" value="001"/
-->
<!--
jsp:setProperty name="splBean" property="age" value="29"/
-->
<
center
>
编号:
<
jsp:getProperty
name
="splBean"
property
="id"
/>
年龄:
<
jsp:getProperty
name
="splBean"
property
="age"
/>
</
center
>
</
body
>
</
html
>
通过jsp代码可知,可用4种方式设置标记:
<
jsp:setProperty
name
="splBean"
property
="*"
/>
<
jsp:setProperty
name
="splBean"
property
="id"
/>
<
jsp:setProperty
name
="splBean"
property
="age"
/>
<
jsp:setProperty
name
="splBean"
property
="id"
param
="id"
/>
<
jsp:setProperty
name
="splBean"
property
="age"
param
="age"
/>
<
jsp:setProperty
name
="splBean"
property
="id"
value
="${param.id}"
/>
<
jsp:setProperty
name
="splBean"
property
="age"
value
="${param.age}"
/>
运行结果为:
①输入编号和姓名:
② 返回结果:
先建立一个JavaBean,JavaBean5.java
1
package
com.coderdream.bean;
2
3
public
class
SampleBean4 {
4
5
private
String sumIncome
=
""
;
6
7
private
String taxStart
=
""
;
8
9
private
double
tax
=
0
;
10
11
public
SampleBean4() {
12
//
TODO 自动生成构造函数存根
13
}
14
15
public
String getSumIncome() {
16
return
sumIncome;
17
}
18
19
public
void
setSumIncome(String sumIncome) {
20
this
.sumIncome
=
sumIncome;
21
}
22
23
public
double
getTax() {
24
return
tax;
25
}
26
27
public
void
setTax(
double
tax) {
28
this
.tax
=
tax;
29
}
30
31
public
String getTaxStart() {
32
return
taxStart;
33
}
34
35
public
void
setTaxStart(String taxStart) {
36
this
.taxStart
=
taxStart;
37
}
38
39
public
void
calculate() {
40
double
totalMoney
=
Double.parseDouble(sumIncome);
41
double
baseMoney
=
Double.parseDouble(taxStart);
42
double
balance
=
totalMoney
-
baseMoney;
43
44
System.out.println(totalMoney);
45
System.out.println(baseMoney);
46
47
try
{
48
if
(balance
<
0
)
49
tax
=
0
;
50
if
(balance
>
0
&&
balance
<=
500
)
51
tax
=
balance
*
0.05
;
52
if
(balance
>
500
&&
balance
<=
2000
)
53
tax
=
balance
*
0.1
-
25
;
54
if
(balance
>
2000
&&
balance
<=
5000
)
55
tax
=
balance
*
0.15
-
125
;
56
if
(balance
>
5000
&&
balance
<=
20000
)
57
tax
=
balance
*
0.2
-
375
;
58
if
(balance
>
20000
&&
balance
<=
40000
)
59
tax
=
balance
*
0.25
-
1375
;
60
if
(balance
>
40000
&&
balance
<=
60000
)
61
tax
=
balance
*
0.3
-
3375
;
62
if
(balance
>
60000
&&
balance
<=
80000
)
63
tax
=
balance
*
0.35
-
6375
;
64
if
(balance
>
80000
&&
balance
<=
100000
)
65
tax
=
balance
*
0.4
-
10375
;
66
if
(balance
>
100000
)
67
tax
=
balance
*
0.45
-
15375
;
68
}
catch
(Exception e) {
69
System.out.println(e.toString());
70
}
71
}
72
73
}
然后建立两个测试页面:sample3.html和sample8.jsp
sample3.html
1
<
html
>
2
<
head
>
3
<
title
>
个人所得税计算器
</
title
>
4
<
meta
http-equiv
="content-type"
content
="text/html; charset=GB2312"
>
5
</
head
>
6
7
<
body
>
8
<
form
name
="form1"
method
="post"
action
="sample8.jsp"
>
9
<
table
width
="358"
height
="140"
border
="0"
cellpadding
="0"
10
cellspacing
="0"
bgcolor
="#E6E6E6"
>
11
<
tr
align
="center"
>
12
<
td
colspan
="3"
>
13
<
strong
>
个人所得税计算器
</
strong
>
14
</
td
>
15
</
tr
>
16
<
tr
>
17
<
td
colspan
="2"
>
18
当月个人总收入:
19
</
td
>
20
<
td
width
="177"
>
21
<
input
name
="sumIncome"
type
="text"
>
22
</
td
>
23
</
tr
>
24
<
tr
>
25
<
td
colspan
="2"
>
26
当地个人所得税起征额:
27
</
td
>
28
<
td
>
29
<
input
name
="taxStart"
type
="text"
>
30
</
td
>
31
</
tr
>
32
<
tr
align
="center"
>
33
<
td
width
="161"
align
="right"
>
34
<
input
type
="submit"
name
="Submit"
value
="确定"
>
35
</
td
>
36
<
td
width
="20"
></
td
>
37
<
td
align
="left"
>
38
<
input
type
="reset"
name
="Reset"
value
="重填"
>
39
</
td
>
40
</
tr
>
41
</
table
>
42
</
form
>
43
</
body
>
44
</
html
>
sample8.jsp
1
<%
@ page language
=
"
java
"
contentType
=
"
text/html; charset=GB2312
"
%>
2
<
jsp:useBean
id
="splBean"
class
="com.coderdream.bean.SampleBean4"
scope
="request"
></
jsp:useBean
>
3
<
html
>
4
<
head
>
5
<
title
>
个人所得税计算器
</
title
>
6
</
head
>
7
<
body
>
8
<%
9
String
sumIncome
=
request.getParameter(
"
sumIncome
"
);
10
String
taxStart
=
request.getParameter(
"
taxStart
"
);
11
12
splBean.setSumIncome(sumIncome);
13
splBean.setTaxStart(taxStart);
14
15
splBean.calculate();
16
%>
17
<
center
>
18
<
p
>
19
当月应缴个人所得税为:
20
<
strong
>
21
<%
22
out.println(splBean.getTax());
23
%>
24
</
strong
>
25
</
p
>
26
</
center
>
27
</
body
>
28
</
html
>
输出结果为:
最后,我们设计一个计算器,先建立一个JavaBean,然后新建一个测试页面:
JavaBean5.java
1
package
com.coderdream.bean;
2
3
public
class
SampleBean5 {
4
5
private
String first;
6
private
String second;
7
private
double
result;
8
private
String operator;
9
10
public
SampleBean5() {
11
//
TODO 自动生成构造函数存根
12
}
13
14
public
String getFirst() {
15
return
first;
16
}
17
18
public
void
setFirst(String first) {
19
this
.first
=
first;
20
}
21
22
public
String getOperator() {
23
return
operator;
24
}
25
26
public
void
setOperator(String operator) {
27
this
.operator
=
operator;
28
}
29
30
public
double
getResult() {
31
return
result;
32
}
33
34
public
void
setResult(
double
result) {
35
this
.result
=
result;
36
}
37
38
public
String getSecond() {
39
return
second;
40
}
41
42
public
void
setSecond(String second) {
43
this
.second
=
second;
44
}
45
46
/*
47
* 根据不同操作符进行计算
48
*/
49
public
void
calculate() {
50
51
try
{
52
double
one
=
Double.parseDouble(first);
53
double
two
=
Double.parseDouble(second);
54
55
if
(operator.equals(
"
+
"
)) {
56
result
=
one
+
two;
57
}
else
if
(operator.equals(
"
-
"
)) {
58
result
=
one
-
two;
59
}
else
if
(operator.equals(
"
*
"
)) {
60
result
=
one
*
two;
61
}
else
if
(operator.equals(
"
/
"
)) {
62
result
=
one
/
two;
63
}
64
}
catch
(NumberFormatException e) {
65
//
TODO 自动生成 catch 块
66
e.printStackTrace();
67
}
68
69
70
}
71
72
}
sample9.jsp
1
<%
@ page language
=
"
java
"
contentType
=
"
text/html; charset=GB2312
"
%>
2
<
jsp:useBean
id
="calculator"
scope
="request"
class
="com.coderdream.bean.SampleBean5"
>
3
<
jsp:setProperty
name
="calculator"
property
="*"
/>
4
</
jsp:useBean
>
5
<
html
>
6
<
head
>
7
<
title
>
简单计数器
</
title
>
8
<
meta
http-equiv
="content-type"
content
="text/html; charset=GB2312"
>
9
</
head
>
10
<
body
>
11
<
p
align
="center"
>
12
<
b
>
简单的计算器
</
b
>
13
<
hr
>
14
计算结果:
15
<%
16
try {
17
calculator.calculate();
18
out.println(calculator.getFirst()
19
+
calculator.getOperator()
20
+
calculator.getSecond()
21
+
"
=
"
+
22
+
calculator.getResult());
23
} catch (Exception e) {
24
System.out.println(e);
25
}
26
27
%>
28
29
</
p
>
30
<
hr
>
31
<
form
action
="sample9.jsp"
method
="get"
>
32
<
table
>
33
<
tr
>
34
<
td
align
="right"
>
第一个参数
</
td
>
35
<
td
><
input
type
="text"
name
="first"
></
td
>
36
</
tr
>
37
<
tr
>
38
<
td
align
="right"
>
操作符
</
td
>
39
<
td
>
40
41
<
select
name
="operator"
>
42
<
option
value
="+"
>
+
</
option
>
43
<
option
value
="-"
>
-
</
option
>
44
<
option
value
="*"
>
*
</
option
>
45
<
option
value
="/"
>
/
</
option
>
46
</
select
>
47
</
td
>
48
</
tr
>
49
<
tr
>
50
<
td
align
="right"
>
第二个参数
</
td
>
51
<
td
><
input
type
="text"
name
="second"
></
td
>
52
</
tr
>
53
<
tr
>
54
<
td
align
="center"
colspan
="2"
>
55
<
input
type
="submit"
value
="计算"
>
56
</
td
>
57
</
tr
>
58
</
table
>
59
</
form
>
60
</
body
>
61
</
html
>
运行结果:
《全文完》
posted on 2006-09-03 23:54
CoderDream
阅读(321)
评论(4)
编辑
收藏
所属分类:
JSP
FeedBack:
#
re: JSP与JavaBean
2006-09-07 22:14 |
P
请问这是哪里的视频?能告诉我哪里下载到这一系列视频吗?
回复
更多评论
#
re: JSP与JavaBean
2006-09-08 19:24 |
CoderDream
吉林大学的,verycd上面下载的!
回复
更多评论
#
re: JSP与JavaBean
2007-10-24 09:15 |
fancycloud
能不能给个verycd的连接啊,谢谢
回复
更多评论
#
re: JSP与JavaBean
2007-10-24 17:07 |
CoderDream
@fancycloud
http://lib.verycd.com/2006/08/24/0000117124.html
回复
更多评论
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?