首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

12.1.1  Servlet规范

记住HTTP和HTML规范并没有涉及任何数据类型处理方面的内容。当一个表单被提交后,就像例程12-1中的一样,从浏览器送出的HTTP POST 请求没有包含任何输入内容的数据类型的信息。

例程12-1  一个简单的用来创建一个新用户的HTML表单

<%@ taglib uri="webwork" prefix="ww" %>

<html>

<head>

<title>New User Form</title>

</head>

<body>

<form method="POST" action="createUser.action">

Username: <input name="username"/><br/>

Password: <input type="password" name="password"/><br/>

First name: <input name="firstName"/><br/>

Last name: <input name="lastName"/><br/>

Age: <input name="age"/><br/>

Birth date: <input name="birthDate"/><br/>

Email: <input name="email"/><br/>

<input type="submit" value="Create User"/>

</form>

</body>

</html>


前4个输入:username、password、firstName和lastName,总是被当做字符串数据类型,所以这不是我们关心的目标。可是,其他的输入:age、birthDate和email,会最终被分别转换为int(或者Integer)、一个Date数据类型和一个Email数据类型。因此,在某些地方,你的代码必须记得调用Integer.parseInt()、SimpleDataFormat.parse()和Email.parse(),还得判断输入的值不能正确转换后该怎么做。

Email类是一个简单的复合类,用来表示一个邮件地址的不同部分。它提供了一个例子,就像你经常处理的对象一样纯粹(例如一个邮件实例);但是在Web应用程序中你经常是在不纯粹的情况下处理它们——一般来说,是当做字符串来处理。这个类把一个邮件地址字符串分成两个部分:用户名和域名。使用用户名加上“@”再加上域名来重新构造邮件地址字符串。

构建J2EE Web应用程序时,你唯一需要做的事情就是简单地通过HttpServletRequest方法来访问HTTP请求的参数。

l         getParameter(String name)  返回GET或POST指定的参数的单一值。这是编写Web应用程序时最常用的方法。

l         getParameterValues(String name)  返回GET或POST指定的参数的字符串格式的值的数组。当请求中很多值被映射到一个相同的参数名时会经常用到。

l         getParameterNames()  返回请求中所有参数名字的 Enumeration(枚举)。

l         getParameterMap()  返回一个映射到 String[] 类型的Map ,其中键值包括每个指定的参数,而值是用来表示请求里对应参数名的一个或多个值的字符串数组。

正如你已经看到的,WebWork自动映射请求参数到action的字段中。让我们来看看如果它的所有字段都是字符串类型会怎么样。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论