码迷,mamicode.com
首页 > 编程语言 > 详细

使用javaBean封装数据

时间:2014-08-23 16:56:21      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:jsp   tag   标签   javabean   

javaBean是一个Java类,是java中开发可以跨平台的重要组件。

javaBean的作用:封装业务逻辑和封装数据。

JSP动作标签:通过动作标签,程序员可以子啊JSP页面中把页面显示功能部分封装起来,使整个页面更加简洁和易于维护。

<jsp:useBean>

jsp:useBean动作用来装载一个将在JSP页面中使用的javaBean。这个功能非常有用,因为它使得我们既可以发挥java组件的重要优势,同时又避免损失JSP的方便性。

jsp:useBean动作的一般语法如下:

<jsp:useBean id="name" type="package.class" scope="scope"/>

其中id用于创建javaBean的引用名;class用于指定javaBean的类;scope用于指定javaBean的范围,默认值为page。

scope的取值可以是一下几种范围:

1、page,javaBean只能在当前页面使用,当加载新页面时将会被销毁。

2、request,javaBean在用户发送请求时使用。

3、session,javaBean一直存在于会话中。

4、application,javaBean在整个应用程序中均可使用。

例如:

<jsp:useBean id="order" type="com.Order" scope="request"/>

这句代码的意思是:在request指定的范围存在id指定的对象,就返回该对象;如果不存在,就创建一个class属性指定的Java类的对象,并保存在id指定的变量内。在JSP文件中相当于:

<%@page import="com.Order" %>
<%
	Order order = (Order)request.getAttribute("order");
	if(order == null)
	order = new Order();
%>

<jsp:setProperty>

setProperty动作用于设定useBean中指定的javaBean属性值。

语法如下:

<jsp:setProperty property="PropertyName" name="BeanName" value="Value" param="Parameter"/>

其中name指定useBean中使用的javaBean的id;property用于指定要为之设置值得属性名称。value指定要为属性设置的值。param指定用于输入数据的表单元素的值。

注意:value属性和param属性不能同时使用。

示例一,在上述使用<jsp:useBean>标签创建的Order类使用setProperty将它的名称设置为张三,年龄设置为18岁。

首先看Order类:

package com;

public class Order {
	public String name;
	public 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;
	}
	
}

然后看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 'index.jsp' starting page</title>
  </head>
  
  <body>
   	<jsp:useBean id="order" class="com.Order" scope="page"/>
	<jsp:setProperty name="order" property="name" value="张三"/>
	<jsp:setProperty property="age" name="order" value="18"/>
	<%=order.name %>
	<br>
	<%=order.age %>
	
  </body>
</html>

示例二,param属性的应用

首先看Login类:

package com;

public class Login {
	private String name;
	private String password;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

然后看登陆页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>My JSP 'MyJsp.jsp' starting page</title>
  </head>
  
  <body>
  <form action="userlogin.jsp" method="post">
  	<table>
  		<tr>
  			<td>用户名:</td>
  			<td><input type="text" name="username"/></td> 
  		</tr>
  		<tr>
  			<td>密码:</td>
  			<td><input type="password" name="userpassword"/></td>
  		</tr>
  		<tr>
  			<td><input type="submit" value="提交"/></td>
  		</tr>
  	</table>
  </form>
  </body>
</html>

然后看处理页面

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head> 
    <title>My JSP 'userlogin.jsp' starting page</title>
  </head>
  
  <body>
    <jsp:useBean id="login" class="com.Login" scope="page"/>
    <jsp:setProperty property="name" name="login" param="username"/>
    <jsp:setProperty property="password" name="login" param="userpassword"/>
    <%=login.getName() %>
    <br>
    <%=login.getPassword() %>
  </body>
</html>

<jsp:getProperty>

useBean中id所指的对象通过setProperty对property指定的属性进行赋值后,可以通过使用getProperty动作获取javaBean中指定的属性值。

语法是:

<jsp:getProperty property="PropertyName" name="BeanName"/>

其中name指定useBean中使用的javaBean的id;property指定要获取javaBean的属性名。

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head> 
    <title>My JSP 'userlogin.jsp' starting page</title>
  </head>
  
  <body>
    <jsp:useBean id="login" class="com.Login" scope="page"/>
    <jsp:setProperty property="name" name="login" param="username"/>
    <jsp:setProperty property="password" name="login" param="userpassword"/>
    <%=login.getName() %>
    <br>
    <!-- <%=login.getPassword() %>-->
    <jsp:getProperty property="password" name="login"/>
    
  </body>
</html>

<jsp:include>

实现页面的复用使用<jsp:include>标签。

例如:

<jsp:include page="index.jsp"/>

还可以使用:

<%@include file="url"%>

两者的区别:

<jsp:include>为动态包含,将被包含的页面的结果包含进来。即先处理在包含。

%@include%为静态包含,将被包含的内容包含进来,先包含,在处理。

<jsp:forward>

<jsp:forward page=“url">达到和跳转相同的效果。page是要跳转的页面。

 

使用javaBean封装数据

标签:jsp   tag   标签   javabean   

原文地址:http://blog.csdn.net/u011740475/article/details/38777965

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!