Problema com exibição de imagem

3 respostas
LeoX

Boa tarde pessoal!
Estou começando com JSP e já me deparei com um problema; como exibir imagens?
Peguei esse exemplo em um livro porem as imagens não aparecem.
Vcs podem me ajudar?

<%@page contentType = "text/html" import = "java.io.*"%>
<html>
    <head>
        <title>JSP Page</title>
    </head>
    <body>
        <%
        int[] opc = new int[5];
        String[] nomOpc = {"Vinho", "Cerveja", "Whiskey", "Refrigerante", "Água"};
        String[] nomCor = {"amarelo", "azul", "marom", "verde", "vermelho"};
        int total = 1;
        String nomArq = "resutado.txt";
        //lê arquivo
        File arq = new File(nomArq);
        if(arq.exists()){//se arq ja foi gravado
            BufferedReader br = new BufferedReader(new FileReader(nomArq));
            String lin;
            int i = 0;
            while((lin = br.readLine()) != null){
                opc[i] = Integer.parseInt(lin);
                total += opc[i];
                i++;
            }
            br.close();
        }else{//arq vazio
        for(int i = 0; i < opc.length; i++)
            opc[i] = 0;
        }        
        int indice = Integer.parseInt(request.getParameter("eBebida"));
        opc[indice] += 1;    
        //monta grafico
        for(int i = 0; i < opc.length; i++){
            out.println("<img src='image\\" + nomCor[i] + ".gif' width = "+
              ((100 * opc[i]) / total) + "height = 10>" +
              "<img src = '' width = " + (100 - ((100 * opc[i])/total)) + "height = 10>");
            out.println(nomOpc[i] + " - " + opc[i] + "Votos.<br>");
        }
        //regrava arquivo
        PrintWriter saida = new PrintWriter (new FileWriter(nomArq));
        for(int i = 0; i< opc.length; i++)
            saida.println(opc[i]);
        saida.close();
        %>
    </body>
</html>

3 Respostas

zanata

Olá LeoX.

O único problema que imagino que está acontecendo, pelo código apresentado, é que os arquivos contendo as imagens não devem estar disponíveis no subdiretório “image” da sua app web.

O webserver não está encontrando as imagens no momento da apresentação do html gerado.

Você deve criar um subdiretório “image” abaixo da estrutura de diretórios web da sua app e lá inserir os arquivos: amarelo.gif, azul.gif, marom.gif, verde.gif, vermelho.gif

Só isso.

[]s

F

Não coloca scriptlet na JSP não… Joga esse código para um Servlet e redireciona pra JSP pra ela só mostrar o resultado.

LeoX

Olá Zanata!
Fiz o que você indicou e funcionou parcialmente, no IE as imagens foram exibidas na horizontal e não na vertical como deveria, já no Firefox não aparece imagem alguma, porque?

Criado 19 de novembro de 2011
Ultima resposta 20 de nov. de 2011
Respostas 3
Participantes 3