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的字段中。让我们来看看如果它的所有字段都是字符串类型会怎么样。







