esse erro sai em tempo de execução
The value for the useBean class attribute site.usuarios.Usuario is invalid
alguem pode me dizer o que pode ser, depois se for preciso eu posto o código
Valeu
esse erro sai em tempo de execução
The value for the useBean class attribute site.usuarios.Usuario is invalid
alguem pode me dizer o que pode ser, depois se for preciso eu posto o código
Valeu
aquele problema foi resolvido. Mudei o class= para type=
mas agora quando eu rodo esta aparecendo essa exeção
alguem sabe o que é?
Olá, vc mudou o class para type e ficou sem class? Type é a refereência, class é o objeto, o class deve existir pois fica tipo:
TYPE tipo = new CLASS();
Se vc colocar só o type fica:
TYPE tipo = new ???;
como ficaria um use bean para eu usar um objeto qualquer então?
e como eu chamaria os métodos dele dentro do meu jsp?
Posta o código do bean e do JSP ae.
<jsp:useBean id="usuario" scope="page" class="site.usuarios.Usuario" />
<%
String nome = (String)request.getParameter("nome");
String email = (String)request.getParameter("email");
String login = (String)request.getParameter("login");
String senha = (String)request.getParameter("senha");
// usuario = new Usuario(nome,email,login,senha);
usuario.setEmail(email);
usuario.setNome(nome);
usuario.setLogin(login);
usuario.setSenha(senha);
Não entendi.
Você tá querendo criar um bean com os parâmetros do request ou tá recebendo um já existente?
eu estou recebendo essas variaveis em um request e quero jogar o valor delas dentro do bean… depois vai para um bd
Desse jeito, você tá tentando receber um bean. Como ele não existe, tá criando um vazio.
Tenta assim:
<jsp:useBean id="usuario" class="site.usuarios.Usuario">
<jsp:setProperty name="usuario" property="email" param="email" />
</jsp:useBean>
Isso para cada propriedade.
Como o nome do parâmetro é igual à propriedade, você pode omitir o param:
<jsp:setProperty name="usuario" property="email" />
Ou ainda:
<jsp:setProperty name="usuario" property="*" />
Essa última só precisa uma vez.
o novo erro
The value for the useBean class attribute site.usuarios.Usuario is invalid.
o jsp que eu mando o request
<form method="POST" action="Cadastrando.jsp">
<table>
<tr>
<th colspan="2">Cadastrar</th>
</tr>
<tr>
<td>Nome: </td>
<td><input type="text" name="nome" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Enviar" /></td>
</tr>
</table>
</form>
e a classe que recebe
<jsp:useBean id="usuario" class="site.usuarios.Usuario" />
<jsp:setProperty name="usuario" property="nome" param="nome" />
out.println("Nome "+usuario.getNome());
E a classe do bean?
O que você passou no form?
class Usuario{
String nome;
//set e get
}
passei “bruno” no form
nao use
usuario.getNome();
use:
<jsp:getProperty name="usuario" property="nome"/>
Flw…
tipo para usar essa tag
<jsp:setProperty name="usuario" property="email" />
eu tenho que ter a variavel email publica ou privada com get e set para ele entender?
Isso aí invoca o método setEmail(), e não a variável em si.
Deu erro com o jsp:getProperty?
Para cada propriedade você deve ter um get e um set… só para evitar problemas evite nomes como NConta, DCadastro… quando você usa recursos como este sempre gera problemas para variáveis como esta.
:okok:
Revivendo aqui o topico, alguem pode me ajudar com uma duvida parecida: Preciso usar da seguinte forma:
<jsp:useBean id=“dao” type=“modelo.ContatoDAO”></jsp:useBean>
Como podem ver, nao setei o class justamente pq a classe é “package” e só quem tem acesso a ela é a Factory. Fiz isso para evitar que alguem tente instanciar a implementação diretamente sem passar pela factory.
Entao depois estou fazendo:
<c:set var=“dao” value="${Factory.contatoDAO }"></c:set>
Aparentemente isso esta correto, mas ele esta lançando:
javax.servlet.ServletException: java.lang.InstantiationException: bean dao not found within scope
Alguma ideia do porque disso? :roll:
Desde já agradeço! 