Struts1.3 之流程框架概述2

3. ActionForm

ActionForms represents request data coming from the browser. ActionForms are used to populate HTML forms to display to end users and to collect data from HTML forms.

 

Create JavaBean properties for all the fields that you want to collect from the HTML form. Each getter and setter pair defines a property. The overrided reset method gets called each time a request is made.

 

The validate method returns a list of errors(ActionErrors). The ActionErrors display on the input HTML form. Notice that when you construct an ActionError object, you must pass it a key into resource bundle (“userRegistration.firstName.problem”). Thus, we need to add a value to this key in the Resource bundle.

 

package strutsTutorial;

 

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionMessage;

 

import javax.servlet.http.HttpServletRequest;

 

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

 

public class UserRegistrationForm extends ActionForm{

 

private String firstName;

private String lastName;

private String userName;

private String password;

private String passwordCheck;

private String email;

private String phone;

private String fax;

private boolean registered;

private Address address = new Address();

private static Log log = LogFactory.getLog(UserRegistrationAction.class);

public String getFirstName() { return firstName;}

public void setFirstName(String firstName) {this.firstName = firstName;}

 

…… other getter/setter methods

public void reset(ActionMapping mapping,

               HttpServletRequest request) {

               firstName=null;

               lastName=null;

               userName=null;

               password=null;

               passwordCheck=null;

               email=null;

               phone=null;

               fax=null;

               registered=false;

               log.trace("reset");

               }

public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)

{

        ActionErrors errors = new ActionErrors();

        if(firstName==null || firstName.trim().equals(""))

        {

               errors.add("firstName",

                             new ActionMessage("userRegistration.firstName.problem"));

        }

        return errors;

}

}

 

ActionForm类在进入Action类处理之前 主要用于收集输入表单(input view) 中的信息并生成ActionForm对象传递给Action类进行处理. Validate()方法 主要用于判断用户输入的合法性.If invalid user input, the control gets redirect back to the input form,而不会进入Action.

errors.add("firstName", new ActionMessage("userRegistration.firstName.problem"));

ActionErrors对象errors是由validate方法返回的一个错误集, firstName是在input form前台运用的逻辑错误名,ActionMessage是一个错误信息对象,userRegistration.firstName.problemresource bundle中的键,而当错误发生的时候,所显示给前台jsp表单的错误信息则是resource bundle中与之对应的值.



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值