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

12.1.4  WebWork类型转换给你带来了什么

让我们回想一下,例程12-2里execute() 方法75%的代码都是用来为真正要做的工作做准备的。现在让我们看看一种更好的方法吧。让我们把CreateUser action改写一下,但是这次我们没有为准备数据花费任何时间。改写后的action代码显示在例程12-4中。

例程12-4  一个利用了自动类型转换的action

package org.hibernate.auction.web.actions.users;

import com.opensymphony.xwork.ActionSupport;

import org.hibernate.auction.dao.UserDAO;

import org.hibernate.auction.dao.UserDAOAware;

import org.hibernate.auction.model.User;

import org.hibernate.auction.model.Email;

import java.text.DateFormat;

import java.util.Date;

public class CreateUser extends ActionSupport

implements UserDAOAware {

{

User user;

UserDAO userDAO;

public String execute() throws Exception {

userDAO.makePersistent(user);

return SUCCESS;

}

}

// setter 和 getter方法

...

}


你可以看到,在execute() 方法里只有两行代码,并且它们都是必需的。其他的行哪里去了?之前拥有的字段都怎么样了?我们将在12.3节讨论这是怎么发生的。眼下,记住使用纵向模式访问字段往往会减少重复的代码,并且让WebWork框架为你做尽可能多的事情。

现在让我们看看例程12-5中的成功页面,并和前面展示过的例程12-3比较一下。

例程12-5  一个使用了类型转换的显示成功结果的JSP页面

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

<html>

<head>

<title>New User Created</title>

</head>

<body>

A new user was created!

<p/>

Username: <ww:property value="user.username"/><br/>

Password: [Not shown]<br/>

First name: <ww:property value="user.firstName"/><br/>

Last name: <ww:property value="user.lastName"/><br/>

Age: <ww:property value="user.age"/><br/>

Email: <ww:property value="user.email"/><br/>

Birth Date: <ww:property value="user.birthDate"/><br/>

</body>

</html>


注意,你不再需要为日期类型和其他数据类型做不同的处理。使用适当的类型转换,无须担心toString() 返回LONG格式的字符串。这是怎么回事?为了找出真相,让我们看看如何配置和建立你自己的类型转换器。

查看所有评论(0)条】

最近评论



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