JSP中Beans 与 Forms处理机制

js

   表单(Forms)是在网站交互的一个很普通的方法。JSP使表单处理更加简单。在JSP中处理表单的标准方法是定义一个“bean”。这个“bean”不是一个完全的Java bean。你只需在定义一个类使它有个区域,这个区域跟表单中的每一个区域相对应。这个类区域必须有“setters”来匹配表单区域的名字。举个例子,让我们修改一下前面教程的GetName.html并且收集Email地址和用户的年龄。具体代码修改如下:

<HTML>

<BODY>
<FORM METHOD=POST ACTION="SaveName.jsp">

What's your name? <INPUT TYPE=TEXT NAME=username SIZE=20><BR>

What's your e-mail address? <INPUT TYPE=TEXT NAME=email SIZE=20><BR>

What's your age? <INPUT TYPE=TEXT NAME=age SIZE=4>

<P><INPUT TYPE=SUBMIT>

</FORM>

</BODY>

</HTML>

  为了收集数据,我们要定义一个Java类,使它有“username”、“email”、“age”的区域,并且我们要提供“setter”方法“setUsername”、“setEmail”和“setAge”。这个“setter”方法只是一个以“set”开始其后是区域名的一种方法。区域名字的第一个字母要用大写的。所以如果区域为“email”,它的“setter”方法就为“setEmail”。同样的,“Getter”方法也类似定义,它只不过是用“get”来代替“set”而已。并且要使得setters和getters必须为公共的(public)。例如:

public class UserData {

String username;

String email;

int age;

public void setUsername( String value )

{

username = value;

}

public void setEmail( String value )

{

email = value;

}

public void setAge( int value )

{

age = value;

}

public String getUsername() { return username; }

public String getEmail() { return email; }

public int getAge() { return age; }

}

  一旦你定义了这个类,再编译它,并且将它放置于网络服务器的类路径中。这个服务器同样要定义一个特殊的目录来放置bean类。如果你是使用Blazix你可以将它们放置到“classes”目录中。如果你必须改变类路径并且服务器正在运行,那么网络服务器就必须停止并重新启动。

  下面我们来修改一下“SaveName.jsp”以使用bean来收集数据:

<jsp:useBean id="user" class="UserData" scope="session"/>

<jsp:setProperty name="user" property="*"/>

<HTML>

<BODY>

<A HREF="NextPage.jsp">Continue</A>

</BODY>

</HTML>

  这里所有我们需要作的事情是增加一个jsp:useBean标志以及jsp:setProperty标志。这个useBean标志是在session中查找“UserData”的实例。如果实例被找到了,它就将更新旧的实例;如果实例没有被找到,它就将创建一个UserData新的实例(UserData的实例被称为bean),然后将它放置于session中。而setProperty标志会自动收集输入的数据,并匹配bean方法的名字,在将数据放置于bean中。

  下面修改NextPage.jsp以从bean取出数据:

<jsp:useBean id="user" class="UserData" scope="session"/>

<HTML>

<BODY>

You entered<BR>

Name: <%= user.getUsername() %><BR>

Email: <%= user.getEmail() %><BR>
Age: <%= user.getAge() %><BR>
</BODY>
</HTML>

  这里要注意useBean标签被重复使用了。这个bean是作为类“UserData”的变量的。由用户键入的数据都被收集在bean中。我们可以不需要“SaveName.jsp”,“GetName.html”的目标就是“NextPage.jsp”,并且只要我们增加一个jsp:setProperty 标志数据同样有效。在下一个教程中,我们要使用SaveName.jsp作为一个错误处理并自动连接到NextPage.jsp上,换句话说,它叫用户校正错误的数据。

时间: 2024-08-02 23:23:33

JSP中Beans 与 Forms处理机制的相关文章

JSP由浅入深(10)—— Beans and Forms处理

js    表单(Forms)是在网站交互的一个很普通的方法.JSP使表单处理更加简单.在JSP中处理表单的标准方法是定义一个"bean".这个"bean"不是一个完全的Java bean.你只需在定义一个类使它有个区域,这个区域跟表单中的每一个区域相对应.这个类区域必须有"setters"来匹配表单区域的名字.举个例子,让我们修改一下前面教程的GetName.html并且收集Email地址和用户的年龄.具体代码修改如下: <HTML>

JSP由浅入深(10)Beans and Forms处理

js 表单(Forms)是在网站交互的一个很普通的方法.JSP使表单处理更加简单.在JSP中处理表单的标准方法是定义一个"bean".这个"bean"不是一个完全的Java bean.你只需在定义一个类使它有个区域,这个区域跟表单中的每一个区域相对应.这个类区域必须有"setters"来匹配表单区域的名字.举个例子,让我们修改一下前面教程的GetName.html并且收集Email地址和用户的年龄.具体代码修改如下: <HTML> &

JSP由浅入深(10)—— Beans and Forms处理_JSP编程

表单(Forms)是在网站交互的一个很普通的方法.JSP使表单处理更加简单.在JSP中处理表单的标准方法是定义一个"bean".这个"bean"不是一个完全的Java bean.你只需在定义一个类使它有个区域,这个区域跟表单中的每一个区域相对应.这个类区域必须有"setters"来匹配表单区域的名字.举个例子,让我们修改一下前面教程的GetName.html并且收集Email地址和用户的年龄.具体代码修改如下: <HTML> <

JSP由浅入深(10)―― Beans and Forms处理

表单(Forms)是在网站交互的一个很普通的方法.JSP使表单处理更加简单.在JSP中处理表单的标准方法是定义一个"bean".这个"bean"不是一个完全的Java bean.你只需在定义一个类使它有个区域,这个区域跟表单中的每一个区域相对应.这个类区域必须有"setters"来匹配表单区域的名字.举个例子,让我们修改一下前面教程的GetName.html并且收集Email地址和用户的年龄.具体代码修改如下: <HTML> <

JSP中早就有了类似.Net DataSet那样的离线数据访问

js|访问|数据 JSP中早就有了类似.Net DataSet那样的离线数据访问了,抛弃ResultSet,拥抱Result吧! 微软的.NET平台上面的数据访问有一个特点,就是数据查询的结果,可以放在内存中,以XML格式进行描述,不需要一直与数据库保持在线连接,用DataSet + Data Adapter来实现! 而在JDBC中,我们通常使用javax.sql.ResultSet类来存放放回的数据,它的流程和生命周期如下: 使用ResultSet来返回数据库查询结果 Client --> C

JSP中自定义标记符的使用

js 摘要 在JSP中有一种机制,可以让你在JSP页面中插入与HTML类似的标记.本文介绍JSP定制标记的基本概念和构成,以及如何开发和应用JSP定制标记.  关键字JSP,XML,TLD,标记符 什么是标记使用HTML语言我们可以这样去编辑我们的网页:    <HTML> <HEAD> <TITLE>  HELLO  WORLD </TITLE>         </HEAD>         <BODY> HELLO WORLD

复杂类型javabean(数组成员)在jsp中的运用:在jsp页面间传递数组

js|数组|页面 在论坛上常看见有人问如何在jsp页面间传递数组,其实用javabean是很容易实现的. 下面给个简单的例子,只要遵循javabean的游戏规则,什么类型的数据结构都可以传递: 1:写一个测试用的javabean:package com.infoearth;public class JobBean{private int[] b;  /**  * @return 返回 b.  */ public int[] getB() {  return b; } /**  * @param

JSP Insider 5: 在JSP中使用JavaMail---4

js 第三部分:在JSP中使用JavaMail 构造JSP现在,将介绍如何把这些对象放到一起,需要用页面指示语把这些对象导入,这点是很关键的.注意:也要用到java.util.date,因为email的时戳要用到java.util.date. <%@ page import= " javax.mail.*, javax.mail.internet.*,   =>javax.activation.*, java.util.*"%>下一步要创建一个特定的信息,表示邮件已经

在J2EE项目中使用IBM Forms来开发表单页面

如果用 HTML/JSP 等普通的技术来开发这些表单,那么对于开发者来说是一个繁重的任务,对http://www.aliyun.com/zixun/aggregation/17326.html">存储数据用的数据库设计也要求很高.因此,这里介绍了如何在 J2EE 中使用 IBM Forms 开发的表单,在表单中做界面设计,数据校验和存储,让复杂的表单变得简单灵活易用. IBM Forms 产品包括 IBM Forms Designer, IBM Forms Viewer 和 IBM For