Acessar um Constructor

10 respostas
U

Olá pessoal, bom dia.

Minha dúvida é bastante simples, só que não achei nenhuma solução na NET.
Criei um Bean com dois constructor, public Classe() e public Classe(String A).
Através do JSP como faço para acessar o segundo constructor?
<jsp:useBean id=“Classe” scope=“session” class=“Classe” />

Obrigado.

Fabricio da Silva Soares.

10 Respostas

M

é algo assim, nao to lembrado…

&lt;jsp&#58;useBean id=&quot;Classe&quot; scope=&quot;session&quot; class=&quot;Classe&quot;&gt; &lt;... setProperty&#40; ... &#41; ...&gt; &lt;/jsp&#58;useBean&gt;

U

“New__Radical”:
Não tem como acessar o segundo contrutor.
Obrigatoriamente, o bean tem que ter o construtor vazio!!!

Mas, se toda vida que instanciar um bean, vc quer passar algum parametro, a maneira que o Matheus colocou está correta.

&lt;jsp&#58;useBean id=&quot;Classe&quot; scope=&quot;session&quot; class=&quot;Classe&quot;&gt; &lt;jsp&#58;setProperty name=&quot;Classe&quot; property=&quot;propriedade&quot; /&gt; &lt;/jsp&#58;useBean&gt;

Lembrando que: Esse código será executado somente se o bean não estiver na sessão. Caso ele esteja na sessão, não será executado.

T+

Olá New__Radical e matheus, boa tarde.

Gostei da idéia só que ela não funcionou legal em meu servidor.
No arquivo JSP fiz o seguinte:

<jsp:useBean id=“ModuleEquipe” scope=“session” class=“br.com.p2p.ModuleEquipe” />

<jsp:setProperty name=“ModuleEquipe” property=“Test” value=“Hello world!” />

Property from my Bean:

<jsp:getProperty name=“ModuleEquipe” property=“Test” />

e retornou o seguinte erro:

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Cannot find any information on property Test in a bean of type br.com.p2p.ModuleEquipe

org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:363)

org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:306)

org.apache.jsp.equipe_jsp._jspService(equipe_jsp.java:65)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0 logs.


Apache Tomcat/5.0

A classe br.com.p2p.ModuleEquipe tem os seguintes metodos.

package br.com.p2p;

public class ModuleEquipe {

private String Test = "null";

public ModuleEquipe() {
}

public String getTest() {
    return Test;
}

public void setTest(String Test) {
    this.Test = Test;
}

}

Poderia me ajudar nessa?

Obrigado.

Fabricio da Silva Soares

U

“New__Radical”:
Não estou vendo o problema. :frowning:

apaga o work, restarta o tomcat, reza 3avemaria, e 1 pai nosso e…
depois me conta o que deu! :cool:

Fiz o que vc pediu e rezei as 3 Ave Maria, só que continuou o mesmo problema.
Tem algo haver com o web.xml?

Obrigado.

Fabricio da Silva Soares

U

“New__Radical”:
Pode ser que eu esteja ficando doido, mas faz o seguinte:
No seu bean, coloque o nome da variável de teste, e não Teste.

Altere tb o seu jsp.

E ae: :roll:

U

“New__Radical”:
Pode ser que eu esteja ficando doido, mas faz o seguinte:
No seu bean, coloque o nome da variável de teste, e não Teste.

Altere tb o seu jsp.

E ae: :roll:

Realmente não só vc está ficando louco, até eu fiquei!
Simplesmente funcionou! Só que não cheguei ao meu objetivo.

Criei um bean que irá fazer uma consulta ao BD e retornar algumas informações do Modulo que estou trabalhando, uso esses dois metodos.

public void setDescription&#40;String idModules&#41;
&#123;
     String SQL  = "SELECT description FROM p2pModules WHERE idModules = " + idmodules;
     description = conexao.getData&#40;SQL, 1&#41;;
&#125;

public String&#91;&#93; getDescription&#40;&#41;
&#123;
     return description;
&#125;

Através do atributo idModules é que recebo as informações de diferentes Módulos.
A questão é, como faço para referênciar esse método através do JSP?
Outra questão é a seguinte, se no meu método ele esperar receber mais de um atributo como faço essa referência?

Obrigado a todos.

Fabricio da Silva Soares

U

“New__Radical”:
Pode ser que eu esteja ficando doido, mas faz o seguinte:
No seu bean, coloque o nome da variável de teste, e não Teste.

Altere tb o seu jsp.

E ae: :roll:

Olá New__Radical, boa tarde.

Agora deu certo, resolvi o meu problema, só que não entendi pq antes não estava funcionando com o atributo como Teste e funcionou ele como teste!
Poderia me explicar?

Obrigado.

Fabricio da Silva Soares

N

Não tem como acessar o segundo contrutor.
Obrigatoriamente, o bean tem que ter o construtor vazio!!!

Mas, se toda vida que instanciar um bean, vc quer passar algum parametro, a maneira que o Matheus colocou está correta.

&lt;jsp&#58;useBean id=&quot;Classe&quot; scope=&quot;session&quot; class=&quot;Classe&quot;&gt; &lt;jsp&#58;setProperty name=&quot;Classe&quot; property=&quot;propriedade&quot; /&gt; &lt;/jsp&#58;useBean&gt;

Lembrando que: Esse código será executado somente se o bean não estiver na sessão. Caso ele esteja na sessão, não será executado.

T+

N

Não estou vendo o problema. :frowning:

apaga o work, restarta o tomcat, reza 3avemaria, e 1 pai nosso e…
depois me conta o que deu! :cool:

N

Pode ser que eu esteja ficando doido, mas faz o seguinte:
No seu bean, coloque o nome da variável de teste, e não Teste.

Altere tb o seu jsp.

E ae: :roll:

N

Certo, vamos lá!

Quando vc cria um bean, ele fica dentro do método _jspService(), e vc pode referencia-lo simplemente usando o nome dele. Entendeu? Não?

Faz assim:

:smiley:

Criado 23 de setembro de 2004
Ultima resposta 23 de set. de 2004
Respostas 10
Participantes 3