Jump to content
Adriano Costa

não consigo fazer um for dentro da pagina jsp para realizar o Read do CRUD

Recommended Posts

Fala galera!!!

Eu sou novo na programação e estou precisando de uma ajuda, estou tentando fazer um for dentro dos scriplets mas esta dando erro. É a parte do read do meu crud. Quando eu aço o for através da camada controller ele funciona, mas na pagina jsp ele da um erro.

 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@page import="model.JavaBeans"%>
<%@page import="java.util.ArrayList"%>  

<%
    ArrayList<JavaBeans> lista = (ArrayList<JavaBeans>)request.getAttribute("contatos");
    for (int i = 0; i < lista.size(); i++){
        out.print(lista.get(i).getIdlista());
    }
%>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Lista de Tarefas</title>
<link rel="stylesheet" href="css/styles.css">

</head>
<body>
    <div id= "login-container">
        <h1>Lista de Tarefas</h1>
        <table>
            <thead>
                <tr>
                    <th>Código</th>
                    <th>Titulo</th>
                    <th>Descrição</th>
                    <th>Data</th>
                    <th>Status</th>
                    <th>Prioridade</th>
                </tr>
            </thead>
            <tbody>
                
            </tbody>
        </table>
        <form name="frmContato" action="listarTarefa">
            
            <input type="submit" value="Cadastrar" onclick="validar()">
        </form>
        
    </div>
    <script src="scripts/validador.js"></script>    
</body>
</html>

 

E esse é o erro

 

HTTP Status 500 – Internal Server Error


Type Exception Report

Message An exception occurred processing [/listaTarefas.jsp] at line [8]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: An exception occurred processing [/listaTarefas.jsp] at line [8]

5: 
6: <%
7: 	ArrayList<JavaBeans> lista = (ArrayList<JavaBeans>)request.getAttribute("contatos");
8: 	for (int i = 0; i < lista.size(); i++){
9: 		out.print(lista.get(i).getIdlista());
10: 	}
11: %>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:611)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:500)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:378)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:326)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Root Cause

java.lang.NullPointerException
	org.apache.jsp.listaTarefas_jsp._jspService(listaTarefas_jsp.java:126)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:467)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:378)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:326)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Note A pilha de erros completa da causa principal está disponível nos logs do servidor.

 

 

esse é o Medoto

 

// Listar tarefa
        protected void tarefas(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            //Criando um objeto que irá receber os dados do JavaBeans
            ArrayList<JavaBeans> lista = dao.listarTarefa();
            
            request.setAttribute("tarefas", lista);
            RequestDispatcher rd = request.getRequestDispatcher("listaTarefas.jsp");
            rd.forward(request, response);
            
            //Teste de recebimento da lista
            for(int i = 0; i<lista.size(); i++) {
                System.out.println(lista.get(i).getIdcon());
                System.out.println(lista.get(i).getTitulo());
                System.out.println(lista.get(i).getDescricao());
                System.out.println(lista.get(i).getData());
                System.out.println(lista.get(i).getStatus());
                System.out.println(lista.get(i).getPrioridade());
            }
        }
    

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By cmoreira1300
      Meu programa não consegue identificar o dotenv na middleware
      Eu estava fazendo um CRUD simples, implementei o dotenv no meu programa, está funcionando quando faço a conexão com o banco de dados e a inserção e uma função normal,  mais quando vou fazer isso dentro de uma middleware ele não chama meu dotenv, só funciona quando tiro o process.env e ponho as informações direto na função de conexão.
      require( 'dotenv' ).config( { path: '../../.env' } ) const mysql = require( 'mysql2' ) // DESSA FORMA NÃO FUNCIONA const connection_pool = mysql.createPool( { host: process.env.DB_HOST, user: process.env.DB_USER, database: process.env.DB_DATABASE, password: process.env.DB_PASS } ) // DESSA FORMA FUNCIONA // const connection_pool = mysql.createPool( { // host: 'localhost', // user: 'carlos', // database: 'simple_crud', // password: 'pass1241' // } ) module.exports = connection_pool.promise() INSERÇÃO NO BANCO DE DADOS
      const db_conn = require( '../db/connection' ) const createNewClient = ( name ) => { return db_conn.execute( `INSERT INTO client ( name ) values (?)`, [ name ] ) } module.exports = { createNewClient } FAZENDO A INSERÇÃO NO MIDDLEWARE
      const data = require( '../data/client' ) const createClient = ( req, res, next ) => { const client = req.body.name data.createNewClient( client ) .then( () => { res.status( 200 ).json( { 'status': 'sucess', 'client': client } ) } ) .catch( ( err ) => { res.status( 404 ).json( { status: 'error', error: err } ) } ) .finally( () => { next() } ) } module.exports = { createClient } { "status": "error", "error": { "message": "Access denied for user ''@'localhost' (using password: YES)", "code": "ER_ACCESS_DENIED_ERROR", "errno": 1045, "sqlState": "28000", "sqlMessage": "Access denied for user ''@'localhost' (using password: YES)" } }  Esse é o erro que obtenho quando uso o dotenv, lenbrando que as informações de login estão todas certas, e que em outra função que não seja um middleware funciona.
    • By Felipe Guedes Coutinho
      Galera, estou precisando ler 1 arquivo TXT mas não quero usar nenhum INPUT para carregar o arquivo.
       
      Eu tenho uma estrutura de pasta onde os meus arquivos TXT ficaram fisicamente e no meu código HTML + JS quero que ao alterar um SELECT OPTION, através da escolha eu validar se o arquivo com o nome selecionado existe na página e se existir eu ler ele e adicionando em um elemento qualquer, uma DIV como conteúdo ou dentro de uma TEXTAREA.
       
      Vou montar a estrutura de pasta abaixo e colocar imagens de exemplo:
       
      Estrutura de pasta
      projeto
          index.html
          dclgen <-- Aqui dentro tenho vários arquivos do formato TXT
              t1.txt
              t2.txt
              t3.txt
              ...
              t4.txt
       
      Pasta DCLGEN dentro da pasta projeto e a pasta DCLGEN junto com o arquivo HTML

       
      Ao escolher no SELECT o nome T1 quero que o JavaScript veja se o arquivo t1.txt existe e se existir quero LER o conteúdo dele e jogar em um ELEMENTO HTML.

       
      Preciso fazer isso da forma mais "SIMPLES" possível usando HTML e JavaScript.
       
      Alguém pode dar um help? Pesquisei no Google muitas opções e os códigos encontrados não me atenderam.
       
      Não quero ser obrigado a fazer um "UPLOAD" usando um INPUT do TIPO FILE, quero usar algo já dentro da pasta do projeto.
      <!DOCTYPE html> <html> <head> <title>Read Text File Tutorial</title> </head> <body> <input type="file" onchange="loadFile(this.files[0])"> <br> <pre id="output"></pre> <script> async function loadFile(file) { let text = await file.text(); document.getElementById('output').textContent = text; } </script> </body> </html> Código usando FileReader, mas que também está usando um INPUT como estimúlo, não é o que quero.
      document.getElementById('file').onchange = function(){ var file = this.files[0]; var reader = new FileReader(); reader.onload = function(progressEvent){ var fileContentArray = this.result.split(/\r\n|\n/); for(var line = 0; line < lines.length-1; line++){ console.log(line + " --> "+ lines[line]); } }; reader.readAsText(file); }; Encontrei esse código também, mas não consegui usar...
      Esse é o parâmetro passado na url "https://dicasdejavascript.com.br/exemplo.txt" function lerURL(URL) { var http = new XMLHttpRequest(); http.open("GET", URL, false); http.send(); console.log(http.responseText); } Espero que alguém consiga me ajudar...
       
      Desde já agradeço.
       
      Atenciosamente.
      Felipe Coutinho

    • By Yuri080
      Bom dia, ultimamente eu venho tentado baixar o connector/J do MySQL para fazer um CRUD porém quando eu baixo o connector ele vem em formato de pasta, e sinceramente não sei mais o que fazer, eu baixei até pelo instalador do MySQL mas ele vem em formato de pasta  ele vem assim, e não sei o porque disso.
    • By Giovanird
      Ola!
      Tenho uma lista de usuários e um link que abre uma div que mostra os detalhes deste usuario, este link usa o evento onClick do javascript.
      O problema é que quando clicado para abrir a div, a tela sobe para o inicio do topo.
      Preciso que a tela nao faça a rolagem para o topo e sim que fique na posição da lista.
      Segue meu codigo abaixo.
      Obrigado por momento
       
      <div class="container"> <div class="row"> <?php foreach para listar os usuários.... ?> <div class="col-10"> Nome do usuário </div> <div class="col-2"> <a href="#" onClick="Mudarestado('minhaDiv<?=$cod?>')"><img src="icons/chevron-right.svg"></a> </div> *** Parte ficará visivel ao clicar no link OnClick *** <div class="divacoes" id="minhaDiv<?=$cod?>" style="display:none"> <div class="row"> <div class="col"> ... dados dos usuarios... </div> </div> </div> *** **** <?php fim foreach que gera a lista de usuários... ?> </div> </div> <style> .divacoes { background-color: #64A338; border: none; padding: 20px; width: 97%; height: 80px; } </style> <script> function Mudarestado(el) { var display = document.getElementById(el).style.display; if (display == "none") document.getElementById(el).style.display = 'block'; else document.getElementById(el).style.display = 'none'; } </script>  
    • By Rafael Massula
      Boa noite pessoal, 
      Tenho o seguinte código em .Net que faz a comparação de uma senha que foi criptografada e salva no banco com a senha comum que o usuário conhece. O algoritmo que desenvolvi foi esse da image.png porem preciso converter essa verificação para JavaScript pela seguinte necessidade, será uma aplicação em electron e ela poderá funcionar offline então não terei como mandar a verificação para o servidor. Existe alguma possibilidade? Desde já agradeço. 

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.