Alguém poderia me ajudar em uma pagina JSP

10 respostas
meiresantos

Olá! Na minha pagina JSP não consigo acessar os elementos de um ArrayList (ex. ${livros.getTitulo()} ). Detalhando um pouco mais, tenho uma classe Livro e uma classe LivroDAO. Na minha classe Livro, tenho os métodos gets dos atributos e o método toString(sobescrito). No meu Servlet eu instancio a classe LivroDAO (onde eu tenho o método que monta a lista de livro acessando o BD) e executo o método e deixo disponivel para o JSP. Só que na página JSP eu não consigo acessar os seus elementos. A página só exibe a lista se eu deixar assim ${livros}. Segue abaixo o código. O que será que eu estou fazendo de errado? No aguardo. Obrigada.

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

TESTE

**** PROJETO - TESTE ****

<c:forEach items="${listalivro}" var="livros" varStatus="status">         
        <li>
            ${livros}                           
        </li>    
    </c:forEach>               

</body>

10 Respostas

Cleiton_Conceicao
for(Pacientetratamento p: listarpaciente) {

	<option value="Triagem" " ><%= p.getNome() %></option>

}
meiresantos

Oi Cleiton, obrigada pelo retorno, mas como sou iniciante no JAVA, tenho algumas dúvidas do seu código. Refiz o seu código com os meus valores. Por favor, dá uma olhadinha se está correto:
A lista é o arrayList que recebo como parametro do Servlet.
O Livro é referente a classe livros do array

for(Livro liv: ${lista}) {

            <option value="livros" " ><%= liv.getId_livro() %></option>
       }
Cleiton_Conceicao

vocês está utilizando tags libs.
o console está retornando algum tipo de erro?

meiresantos

Oi Cleiton, acho que a sintaxe está errada, ele dá um erro na linha - <option value=“livros” " ><%= liv.getId_livro() %>. Diz que o " liv " é um símbolo que não pode ser encontrado.

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

TESTE

**** PROJETO - TESTE ****

for(Livro liv : ${lista}) { <%= liv.getId_livro() %> }
meiresantos

Cleiton, complementando a resposta que eu te dei, o codigo está em tags, é que eu não consigo colocar aqui neste forum, nem colocar um printscreen do programa.

Cleiton_Conceicao

Eu tive um problema utilizando tags libs.
Então fiz de outra forma. vou anexar o projeto q eu fiz e tu dar uma olhada como fiz.
a ideia desse projeto é igual a sua.

biblioteca.rar (871,3 KB)

meiresantos

Oi Cleiton, baixei o seu projeto na minha máquina. E fiz as correções na minha JSP. Mas deu erro : “Error in Javac compilation for JSP”. Eu acho que preciso importar as minhas classes na página JSP como você fez. Só que as minhas classes estão no diretório default do projeto , você sabe me dizer qual a sintaxe que eu uso para este caso. O seu está assim: <%@page import=“dao.DaoLivro”%>.
Desculpe me mas não tenho experiência com JAVA e JSP.

Cleiton_Conceicao

manda o código completo do seu projeto e um print da estrutura do seu projeto aí.

meiresantos

Projeto-Forum-EsseEuJaLi_versao2_05-10-2017.rar (692,5 KB)

Oi Cleiton, dentro do arquivo zipado está o diagrama.

meiresantos
Oi Cleiton, consegui resolver. Além de usar a sua lógica (código java), o que estava faltando era mesmo importar as classes para o JSP. Eu tive que criar um pacote no meu projeto para colocar as classes e daí fiz a referência  no JSP. Você mencionou que isso era problema de taglib, você sabe me dizer porque causou isso? pois eu  tinha feito uma página igual a essa,  que usando tags, e não deu esse problema. Segue em anexo como ficou o meu programa. Ah! muito, mas muito obrigada pela paciência e orientação. Valeu mesmo! `<%<a class="mention" href="/u/page">@page</a> import = java.util.<em>, java.sql.</em>, ENTIDADE.LivroDAO, ENTIDADE.Livro1%>

<%@ taglib uri=<a href="http://java.sun.com/jsp/jstl/core">http://java.sun.com/jsp/jstl/core</a> prefix=c %>

<%<a class="mention" href="/u/page">@page</a> contentType=text/html pageEncoding=UTF-8%>
TESTE

**** PROJETO - TESTE ****

<% LivroDAO dao = new LivroDAO(); List lista_livro = dao.recuperaListaLivros(); for(Livro1 p: lista_livro) { %>
  • <%= p.getId_livro() + " - " + p.getTitulo() + " - " + p.getAutor() %> Ver Detalhe
  • <% } %> ``
    Criado 3 de outubro de 2017
    Ultima resposta 5 de out. de 2017
    Respostas 10
    Participantes 2