Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/05/2009, 15:20
Avatar de DiabloGuardian
DiabloGuardian
 
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: boton cancel struts

gracias juju84.

de hecho encontre otra opcion y aqui la comparto con usedes:

en el config-struts.xml deben agregar en el accion la propiedad cancellable asi


Código:
<action
      attribute="usuarioForm"
      input="/jsp/comun/nuevousuario.jsp"
      name="usuarioForm"
      parameter="dispatch"
      path="/usuario"
      scope="request"
      cancellable="true"
      type="com.itsoeh.struts.action.UsuarioAction">
      <forward name="mostrar" path="/jsp/comun/display.jsp" />
      <forward name="cancelado" path="/jsp/comun/bienvenido.jsp" />
    </action>



y en la clase accion pueden hacer algo como esto

Código:
public class UsuarioAction extends DispatchAction {
	
    private Log log = LogFactory.getFactory().getInstance(this.getClass().getName());
    
	
	public ActionForward doAdd(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		
		// Was this transaction cancelled?
        if (isCancelled(request)) {
            if (log.isInfoEnabled()) {
                log.info(
                    " "
                        + mapping.getAttribute()
                        + " - Registration transaction was cancelled");
            }

            removeFormBean(mapping, request); // remueve los form bean obsoletos, abajo esta el metodo

            return (mapping.findForward("cancelado"));
        }
		
		// aqui el codigo normal del action
		return mapping.findForward("mostrar");
	}
	
   /**
     *
     * @param mapping The ActionMapping used to select this instance
     * @param request The HTTP request we are processing
     */
    protected void removeFormBean(
        ActionMapping mapping,
        HttpServletRequest request) {

        // Remove the obsolete form bean
        if (mapping.getAttribute() != null) {
            if ("request".equals(mapping.getScope())) {
                request.removeAttribute(mapping.getAttribute());
            } else {
                HttpSession session = request.getSession();
                session.removeAttribute(mapping.getAttribute());
            }
        }
    }
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-