Como passar o nome de uma classe como parâmetro para um JSP

:?: :?:

Gostaria de saber como passar como parâmetro através de uma tela JSP o nome de uma classe para uma outra tela JSP para que esta execute o método desta classe.

:?: :?:

Object.getClass();

:?:

Como é que eu uso isto?

o método getClass() pertence à classe Object de forma que todo objeto java tem esse método…

vc poderia fazer o seguinte:

<INPUT type=“hidden” name=“nmClasse” value=“SeuObjeto.getClass()”>

na outra JSP vc recupera esse parametro e instancia um objeto Class usando o Class.forName(“nmClasse”);

deu pra entender ?¿

Eu faria assim…

na primeira pagina

request.getSession().setAttribute(“param”, “o teu parametro”);

na segunda pagina

String param = (String) request.getSession().getAttribute(“param”);

Q c acha?

t+

Na JSP que vai receber o parâmetro eu coloquei assim:

String classe = request.getParameter(Class.forName(“classe”);

O “classe” é o nome do parâmetro que está na outra JSP.

Está dando um erro!
O que eu faço?

:?: :?:

[quote=“broering”]Eu faria assim…

na primeira pagina

request.getSession().setAttribute(“param”, “o teu parametro”);

na segunda pagina

String param = (String) request.getSession().getAttribute(“param”);

Q c acha?

t+[/quote]

Depois que eu mandar a classe (junto com o nome do método) como parâmetro eu preciso instanciá-la.

Será que dá pra fazer isto?

Pois a segunda tela JSP não sabe qual classes e método ela vai receber para depois instanciar.

Pode sim.
Dá uma olhada nas classes Class e Method. Aliás, olha o tutorial sobre Reflection que tem no java.sun.com, lá mostra como é que vc vai fazer pra instanciar a classe e chamar seus métodos.

Cara,
Que eu saiba objetos não trafegam pelo request(me corrijam se estiver errado).Então a melhor form de passar um objeto é pela session.E na sua pagina vc recupera com o getAtribute.
E depois vc pode instanciar o objeto usando reflection.
Espero ter ajudado.

[]'s

É isso mesmo. O que se pode fazer é passar o nome da classe como parâmetro, pegar com getAtribute, como você disse, e instanciá-la usando Reflection.


Dá uma olhada nas classes Class e Method. Aliás, olha o tutorial sobre Reflection que tem no java.sun.com, lá mostra como é que vc vai fazer pra instanciar a classe e chamar seus método