Struts (LookupDispatchAction)

3 respostas
passos

Alguem sabe me dizer o que esta errado nesta classe para estar recebendo o erro: javax.servlet.ServletException: DispatchMapping[/cadUsuario] does not define a handler property

OBS: Se simplismente modifico o nome do metodo salvar para execute ele funciona.

package action;

import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.LookupDispatchAction;
import org.apache.struts.validator.DynaValidatorForm;
import actionMapping.GenericActionMapping;

public class GenericAction extends LookupDispatchAction {

    protected Map getKeyMethodMap() {
        Map map = new HashMap();
        map.put("bt.salvar", "salvar");
        return map;
    }

    public ActionForward salvar(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        // 	
        DynaValidatorForm genericForm = (DynaValidatorForm) form;
        // 
        GenericActionMapping GenericMapping = (GenericActionMapping) mapping;
        //
        Object voGenerico = Class.forName(GenericMapping.getValueObject()).newInstance();
        // 
        //BeanUtils.copyProperties(voGenerico, genericForm);
        return mapping.findForward("sucesso");
    }
}

3 Respostas

C

Se vc altera para execute ele funciona pq execute é o método padrão da Action…
Na definição da sua action no struts-config vc especificou o atributo parameter???
E na jsp o submit está referenciando a propriedade setada no parameter??
Dá uma verificada nisso…

passos

Eu tinha esquecido o maldito do parameter porem agora ele nao esta encontrando o parametro, provavelmente por eu estar migrando p/ velocity

does not contain handler parameter named submit

<input type="submit" name="bt.salvar" value="$text.get("bt.salvar")">
C

tenta

<input type="submit" name="submit" value="$text.get("bt.salvar")">

ou

<html:submit property="submit"> <bean:message key="bt.salvar"/> </html:submit>

Criado 3 de setembro de 2004
Ultima resposta 3 de set. de 2004
Respostas 3
Participantes 2