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 String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } private String password; public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } 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")); } blnReturn = true; } return (blnReturn); } private boolean isInvalid(String value) { return (value == null || value.length() == 0); }