Recortar la entrada de la cadena de campo de texto Struts2

¿Cuál es la mejor manera de recortar esta cadena / dónde es el mejor lugar para colocar el código de recorte?

Digamos que tengo el siguiente campo de texto en mi jsp:

<s:textfield label="First Name" name="person.firstname"/>

La clase de acción:

public class BaseAction extends ActionSupport implements ServletRequestAware, SessionAware {
    private Person person;
    // Getters, setters and action logic
}

El frijol:

public class Person implements Serializable {
    private String lastname;
    private String firstname;
    // Getters and setters
}

Puedo cambiar la configuración predeterminada en el bean, pero esto parece un hack:

public void setFirstname(String firstname) {
    this.firstname = firstname.trim();
}

EDITAR: También vi esta pregunta:struts2 recorta toda la cadena obtenida de las formas&nbsp;donde algunos también sugieren que el método "correcto" es utilizar un interceptor.

¿Por qué un interceptor es la forma "correcta"? ¿Qué hay de malo en cambiar los setters del bean?