Listing 1: Conversion from the java.lang.String to the java.util.Date is done using the standard Java bean’s property editor, shown here.

 

<Simple Date Editor>
package jbriscoe.article.spring.validation;

import java.beans.PropertyEditorSupport;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class SimpleDateEditor extends PropertyEditorSupport {

  private DateFormat dateFormat;
  private Boolean allowEmpty;
  private Log log = LogFactory.getLog(getClass());

  public SimpleDateEditor(final DateFormat dateFormat, final Boolean allowEmpty) {
    this.dateFormat = dateFormat;
    this.allowEmpty = allowEmpty;
  }
  public String getAsText() {
    return (getValue() == null ? "" : this.dateFormat.format((Date) getValue()));
  }
  public void setAsText(final String text) throws IllegalArgumentException {
    if (this.allowEmpty.equals(Boolean.TRUE) && StringUtils.isEmpty(text)) {
      setValue(null);
    } else {
	try {
	  setValue(this.dateFormat.parse(text));
	} catch (final ParseException e) {
	  log.error("Spring configuration error.  Unable to parse date.", e);
	}
    }
  }
}

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.