package com.michaelthomas.mystrutshelloworld; public class Login extends WebappSupport { public String execute() throws Exception { if (isInvalid(getUsername())) return INPUT; if (isInvalid(getPassword())) return INPUT; if (isInvalidUserPassword(getUsername(), getPassword())) return INPUT; return SUCCESS; } private boolean blnReturn; private boolean isInvalidUserPassword(String usernameCheck, String passwordCheck) { if ( usernameCheck.equals("test") && passwordCheck.equals("password") ) { //Good username & password! blnReturn = false; } else { //Invalid login for Username/Password //This displays at the top where the ActionError tag is located. this.addActionError(getText("error_action.login.invalid_user_password")); if ( ! usernameCheck.equals("test") ) { //username is invalid. Display by the field. this.addFieldError("username", getText("error_field.username.invalid")); } if ( usernameCheck.equals("test") && ! passwordCheck.equals("password") ) { //username ok, password is invalid. Display by the field. this.addFieldError("password", getText("error_field.password.invalid")); } String strUsername = getUsername(); blnReturn = true; } return (blnReturn); } private boolean isInvalid(String value) { return (value == null || value.length() == 0); } }