Página Inicial do Fórum > Frameworks, APIs e IDE's

Existem uma forma de verificar se um método existe?



Criar novo tópico   Responder tópico


  1. gutostraube
    Posts:1


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Olá!

    Apesar do meu problema ser relacionado a uma aplicação web, creio que seja simples...

    Existe uma forma de verificar se um método existe em uma classe?

    O que acontece é o seguinte:
    Estou usando DispatchAction do Struts e acontece algumas vezes do parameter continuar no request quando o forward de um action é outro action. E, ao invés de chamar o método unspecified, chama o método que tem o nome do parameter que foi para o action anterior. Mais ou menos assim:

    Se eu tenho a URL: actionUm.do?perform=editar, o DispatchAction chama o método:

    Mas eu tenho o seguinte forward no meu struts-config.xml:

    Redireciono para esse action, mas o parâmetro "perform" continua no request, mas como no ActionDois não existe um método editar(), cai em uma Exception.

    Como eu tenho um DefaultAction do qual todos os meus actions extendem, então poderia colocar uma verificação no método execute dele: se o método que veio no request existe, então eu chamo, senão, chamo o unspecified()...

    Além de um forward simples, já tentei usar ActionRedirect, mas o problema continua. Não me orgulho de mostrar a última solução, mas fiz o seguinte no meu struts-config.xml:

    Em um caso específico funcionou, mas creio que logo isso não vai mais resolver o problema...

    Pensei tb em remover o parâmetro do request, até tentei colocar no reset() do ActionForm, mas não resolveu.

    Se existir alguma solução, agradeço!

    Muito obrigado...
    _________________
    Gustavo Straube Pereira
    Nobla Software S/A




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Frameworks, APIs e IDE's