您的位置:jsp学习站首页 >> 工具/平台 >> Jbuilder >> JBuilder2005 Struts深度体验之改造

JBuilder2005 Struts深度体验之改造 (1)

[ 来源:互网络 | 更新日期:2007-09-24 08:58:35 | 浏览次数:13315]
简介:User描述login

  用ActionForm截获登录表单数据
  
  原登录模块用bookstore.User描述login.jsp登录页面表单的数据,在switch.jsp程序中通过<jsp:useBean>标签获取login.jsp表单的数据。其实User类相当于Struts框架中的模型,我们将通过一个ActionForm更好地实现这个功能。
  
  ActionForm和Bean一样以属性名匹配的映射机制从HTTP请求中填充对象数据,但ActionForm比一般的Bean提供了更多的功能,Struts允许ActionForm通过validate()方法进行自校验,当数据不合法时自动转向到输出界面,此外还可以通过reset()方法,在数据填充前复位属性值。
  
  下面我们就来创建UserActionForm,替换User的功能,建立起Struts框架中的"数据模型"。
  
  1.指定ActionForm的Web模块及类信息
  
  File->New...->Web->在Web页中双击ActionForm图标,弹出如图 6所示的对话框:
   
  图 6 创建UserActionForm
  
  ?Struts config:我们前面有提到Struts1.1支持多个配置文件,所以你在这儿可以选择使用哪个Struts配置文件。因为我们现在还没有定义多个Struts配置文件,所以只得使用struts-config.xml。在开发新增图书的功能时,我们将定义另一个配置文件。
  
  ?ActionForm:ActionForm的类名,这里我们填入UserActionForm。
  
  按Next到下一步。
  
  2.定义ActionForm属性
   
  图 7 定义ActionForm属性
  
  通过Add...按钮为UserActionForm增加4个属性,如图 7所示。特别的,如果这个ActionForm所对应的入口页面已经创建,你也可以直接通过Add from JSP...按钮,选择一个JSP页面,JBuilder会分析这个页面的表单,并将表单的数据组件名抽取为ActionForm的属性。
  
  按Next到下一步。
  
  3.一些附加功能的定义
   
  图 8 附加功能定义
  
  在FormBeanName中为UserActionForm指定一个名字,一般接受JBuilder所提供的默认名即可。这个名字将在struts-config.xml文件用来命名UserActionForm。
  
  ActionForm比一般JavaBean强大的地方在于它可以进行数据检验,还可以进行数据复位。如果这个ActionForm最终要放到session中的,那么最好实现reset()方法,以复位ActionForm的数据,否则属性可能不会反映最新的值。这里, UserActionForm无需进行数据有效性校验,但由于UserActionForm最终需要放到session中,所以我们需要实现reset()方法。故此我们勾选Create/replace reset() method body选项。
  
  直接按Finish创建UserActionForm,再将User类的代码拷贝过来,整改后的最终代码如下所示:
  
  代码清单 6 以ActionForm实现的User类
  
  1. package bookstore;
  2.
  3. import java.sql.*;
  4. import java.text.*;
  5. import java.util.Date;
  6. import javax.servlet.http.*;
  7. import org.apache.struts.action.*;
  8.
  9. public class UserActionForm
  10. extends ActionForm
  11. {
  12.  private String userId;
  13.  private String password;
  14.  private String userName;
  15.  private String loginDatetime;
  16.  public String getPassword() {
  17.   return password;
  18.  }
  19.
[1] [2] [3] [4] [5]
Tags:关键字:JBuilder2005 Struts深度体验之改造
责任编辑:glen