2010-06-08 11 views
7

En un JSP Tengo el siguiente campo:Cómo borrar un campo de frijol con rayas

<stripes:text name="email"/> 

Este campo está en mi grano de acción (fragmento):

public class CreateClaim implements ActionBean { 

    private String email; 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public Resolution alc(){ 
     email = "poodle"; 
     return new ForwardResolution("aForward.jsp"); 
    } 

} 

En el alc() methos estoy configurando el correo electrónico para ser nulo. Pero cuando las páginas muestran el valor del campo de correo electrónico es exactamente como se ingresó originalmente. ¿Hay alguna forma de borrar este campo una vez y el evento se ha activado?

Saludos

de Dave

Respuesta

5

Esto tiene que ver con la estrategia población del marco rayas. Por defecto tiene una Solicitud primera estrategia (debido a la compatibilidad con versiones anteriores), pero siempre la cambio a bean first population strategy.

Basta con modificar el web.xml añadir un init-param para su filtro Rayas:

<filter> 
    <filter-name>StripesFilter</filter-name> 
    <filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class> 

    <init-param> 
     <param-name>PopulationStrategy.Class</param-name> 
     <param-value> 
     net.sourceforge.stripes.tag.BeanFirstPopulationStrategy 
     </param-value> 
    </init-param> 
..etc... 
+0

brillante, la funcionaba un lujo. Me las arreglé para solucionar el problema con el uso del alcance del flash y una redirección, pero esta debe ser la forma correcta de manejarlo. – enkor

+0

Solo uso el redireccionamiento después de las solicitudes de envío, porque detiene las presentaciones accidentales de doble formulario en caso de que se use el botón Atrás del navegador. En todos los casos, en otros casos, BeanFirstPopulationStrategy hace su trabajo. – Kdeveloper

Cuestiones relacionadas