Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

scorpio

[Resolvido] JSTL

Recommended Posts

Pessoal, to comum erro meio chato aqui....

 

no meu JSP tenho isso:

<jsp:useBean id="dao" class="com.br.aplicacaomvc.model.dao.LoginDAO"/>
E depois

<c:forEach items="${dao.logins}" var="Logins">

E isso:

<c:forEach items="${dao.logins}" var="Logins">
					<tr>
					<td><c:out value="${Logins.LoginName}"/></td> //<- Aqui
					//<td>${Login.LoginName}</td> <- Assim também deu erro :(
					</tr>
				</c:forEach>

Minha classe que retorna os Logins:

public class LoginDAO extends TabelaDAO {
	public List<LoginDTO> getLogins() throws SQLException{
		List<LoginDTO> Logins = new ArrayList<LoginDTO>();
		String sSQL = "select * from Login";

		ResultSet rs = getDatabase().getInstance().createStatement().executeQuery(sSQL);
		while(rs.next())
		{
			Logins.add(DataToDTO(rs));
		}
		return Logins;
	}

	private LoginDTO DataToDTO(ResultSet rs)throws SQLException{
		LoginDTO lg = new LoginDTO();
		lg.setLoginName(rs.getString("LoginName"));
		lg.setPassword(rs.getString("Password"));
		return lg;
	}

}
javax.el.PropertyNotFoundException: Property 'LoginName' not found on type com.br.aplicacaomvc.model.dto.LoginDTO

Se eu tiro <c:out value="${Logins.LoginName}"/> e coloco um valor fixo, ele monta a tabela com a quantidade certa.

 

O que eu quero fazer, é listar todos os registros do banco! Mas essa budega véia não funcionaaaaaaaaaa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111

 

Esse tio ae, loginname, tem no LoginDTO.

 

public class LoginDTO {
	private String loginname;
	private String password;

Mas não vaiiii!!!!!!!!!!!!!!!!

Já to loco com esse negócio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não tenho certeza, mas tente definir como public.

 

public class LoginDTO {
	public String loginname;
	public String password;

Se não der certo, invés de chamar diretamente a propriedade, chame um método como getLoginName().

 

Falow.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No começo pensei que fosse isso também. Mas nem é.

 

Value Prog....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Scorpio...

 

<c:out value="${Logins.LoginName}"/>

Ahmmm... sua propriedade na classe esta digitado com as letras em minúsculo (loginname), já tentou substituir?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentei também. :wacko:

 

Ô bixin chato sô!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só por curiosidade, coloquei só para mostrar a senha.

<c:forEach items="${dao.logins}" var="login">
					<tr>
						<td><c:out value="${login.password}"/></td>
					</tr>

				</c:forEach>

Advinha o que aconteceu ? Meu PC desligou!rsrs brincadeira..

Sério.. funcionou assim, só com a senha funcionou...

 

sei lá o que acontece viu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

OMG!

Como sou estupido!

 

hauhauhauh

 

Um explicação rápido do que eu entendi que aconteceu.

 

<jsp:useBean id="dao" class="com.br.aplicacaomvc.model.dao.LoginDAO"/>
				<c:forEach items="${dao.logins}" var="login">
					<tr>
						<td><c:out value="${login.loginName}"/></td>
						<td><c:out value="${login.password}"/></td>
					</tr>
				</c:forEach>

O dao.logins, é o método getLogins que eu tenho na classe LoginDAO.

 

O login.password e login.loginName são os métodos do LoginDTO (getter e setter).

Não sei porque ele consider a primeira letra (depois do get) como minuscula.

Assim se tenho um método chamada

getVaca, lá no JSTL ele vai ser vaca.

 

:)

 

Beijo na bunda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.