使用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是要跳转的页面。

时间: 2024-10-01 23:07:03

使用javaBean封装数据的相关文章

JavaBean封装数据

1.概述

用javabean封装xml文档数据

//book.xml <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id="1"> <name>冰与火之歌</name> <author>乔治马丁</author> <year>2014</year> <price>89</price> <la

Beanutils工具类,封装数据的三种方式,单例模式

org.apache.commons.beanutils.Beanutils; Beanutils setProperty(Object obj,String name,Object value) Object obj:被赋值的对象 String name:属性名 Object value:属性值 getProperty(Object obj,String name) 获取指定属性的属性值 Object obj: 对象 String name: 属性名 populate(Object bean,

7.Struts2框架封装数据

Struts2框架提供了很强大的数据封装的功能,不再需要使用Servlet的API完成手动封装了!! 第一种方式:属性驱动 > 提供对应属性的set方法进行数据的封装.--经常使用 * 表单的哪些属性需要封装数据,那么在对应的Action类中提供该属性的set方法即可. * 表单中的数据提交,最终找到Action类中的setXxx的方法,最后赋值给全局变量. * 注意0:Struts2的框架采用的拦截器完成数据的封装. * 注意1:这种方式不是特别好:因为属性特别多,提供特别多的set方法,而且

预先封装数据的思路.md

预先封装数据的思路.md python3 最近有两位同学开发开发了用程序在线竞猜数字的小游戏,可以通过以下两个网址去玩: bbaa的游戏 http://bbaass.tk/math/ codetiger的游戏 http://www.codetiger.win/extra/index.php 以bbaa的游戏为例,是猜1-10000之间的一个数字,第一猜5000,和之后的每一次猜5000, 你需要发送的数据总是一样的,.所以可以预先把数据封装起来备用,直觉上觉得可以节约极其少量的时间. 比如你第一

Programming With Objective-C---- Encapsulating Data ---- Objective-C 学习(三) 封装数据

Programming with Objective-C Encapsulating Data In addition to the messaging behavior covered in the previous chapter, an object also encapsulates data through its properties. 除了前一章讲述的消息方法(messaging behavior), 对象还能通过它的特性(properties)来封装数据. This chapte

json和xml封装数据、数据缓存到文件中

一.APP的通信格式之xml xml:扩展标记语言,可以用来标记数据,定义数据类型,是一种允许用户对自己标记语言进行定义的源语言.XML格式统一,扩平台语言,非常适合数据传输和通信,业界公认的标准. 支持操作系统:windows.linux 支持语言:python.php.java 二.APP的通信格式之json JSON是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读,同时也方便了机器进行解析和生成. JSON简单的说是javascript中的对象和数组,所以这两种结构就是对象和数组两

http中使用json封装数据的性能测试

http中使用json封装数据的性能测试 一个项目使用json封装数据,接口例如: 客户端发送: POST /list.do HTTP/1.1 Host: zoomi.com.cn Connection: close Accept: * /  * Cookie: Sessionid=ea277024eceb83494a0c490981f57d57 Content-Length: 100 { “action”:”get”, “target”:”broadcast_thread_list”, ”ty

xml方式封装数据方法

1.xml方式封装数据方法 2.demo <?php xml方式封装数据方法 /** * [xmlEncode description] * @param [type] $code [description] * @param [type] $message [description] * @param array $data [description] * @return [type] [description] */ public static function xmlEncode($cod