现在的位置: 首页 > 综合 > 正文

JSP 与 javaBean

2013年04月27日 ⁄ 综合 ⁄ 共 1704字 ⁄ 字号 评论关闭

        在面向对象思想的程序中,一定少不了javaBean,JSP 也提供了一些标签,用来支持javaBean,如下面的例子所示: 

范例:

Person.java

package com.haizhu.domain;
public class Person {
	private String name;
	private int age;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

javaBeanInJsp.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'javaBeanInJsp.jsp' starting page</title>
  </head>
  
  <body>
	<!-- scope 表示作用范围是 page,找出这个bean,没有的话就创建一个,这句话执行之后,肯定有一个javaBean存在了 -->
	<jsp:useBean id="person" class="com.haizhu.domain.Person" scope="page">			
		这里的内容只有创建Bean的时候才显示。比如,将scope=“session”,则刷新的时候这里的东西就不显示了。而page的时候刷新是显示的。<br>
	</jsp:useBean>
	<!-- 设置属性值,name表示domain的名字,property表示属性的名字,value表示赋的值内容 -->
	<jsp:setProperty name="person" property="name" value="Haizhu"/><!-- 这里的value也可以不设置,直接在地址栏后面通过“/javaBeanInJsp.jsp?name=Haizhu”来赋值,也是可以的 -->

	<jsp:setProperty property="age" name="person"/>					<!-- 地址栏通过 " http://localhost:8080/JspDemo/javaBeanInJsp.jsp?age=47 "传值进行设置 -->

	<!-- 将这个值在页面中进行显示 -->
	<%=person.getName() %><br>
	<%=person.getAge() %>											<!-- 支持8种基本类型的自动转换:问号后面传递的age是String类型,这里自动转成int类型 -->

	************************************************************************
	<!-- 也可以通过getProperty取值 -->
	<jsp:getProperty property="name" name="person"/><br>			<!-- 一定要注意,这里的值如果是空的话,会程序报错 NULL,所以取值之前一定要判断,这就非常麻烦 -->
	<jsp:getProperty property="age" name="person"/>					<!-- 所以,后面引入了 EL 表达式,这样的话如果为空就输出一个空字符串 -->
  </body>
</html>

结果:

这里的内容只有创建Bean的时候才显示。比如,将scope=“session”,则刷新的时候这里的东西就不显示了。而page的时候刷新是显示的。
Haizhu
47

************************************************************************

Haizhu
47 

Tips:

1、在 \Tomcat\work\Catalina\localhost 目录下,可以查看到 JSP 编译后的 生成的 java 代码,以及生成的 class 文件

抱歉!评论已关闭.