Reutilizar variáveis

5 respostas
S
<html>
<%
  try
   {
      boolean tem = false;
      String encontrou = "Não Achei";
      String texto = request.getParameter("texto2");// testo inserido no campo de busca
      String buffer=new String();
      String mensagem = new String();
      File txt = new File ("C:/site_imprensa/doe/txt/04_outubro.txt");
      FileInputStream arq = new FileInputStream(txt);
      DataInputStream in =  new DataInputStream(arq);
      String linha = in.readLine();

       while (in.available()!=0)
           {
              linha = in.readLine();
              String c = linha;
              c.indexOf(texto);
              
                if(c.indexOf(texto)> -1) 
                  { 
                   tem = true;
                  }
           } 
   } 
     catch(IOException ex) 
          { 
           String mensagem = "não leu o arquivo"; 
          }

%> 
<body>

<% if (tem==false ) {%>
<p> não encontrou no arquivo</P>

<% } else { %>
<p> Tem no arquivo a palavra  : <%=texto%></p>
<% } %>


</body>
</html>
porque nessa parte do meu código ele não reconhece mais a variável tem?
<% if (tem==false ) {%>
<p> não encontrou no arquivo</P>

5 Respostas

S

creio q seja q vc tenha criado a variavel dentro do bloco try!!!
coloca a variavel fora do bloco try!!!
assim!!!

boolean ten=false;

try

{}

catch(Exception e)

{}

coloca o codigo abaixo e ve se funciona!!!:roto:

<html>

<%

      boolean tem = false;

try

{
String encontrou = "Não Achei";
  String texto = request.getParameter("texto2");// testo inserido no campo de busca
  String buffer=new String();
  String mensagem = new String();
  File txt = new File ("C:/site_imprensa/doe/txt/04_outubro.txt");
  FileInputStream arq = new FileInputStream(txt);
  DataInputStream in =  new DataInputStream(arq);
  String linha = in.readLine();

   while (in.available()!=0)
       {
          linha = in.readLine();
          String c = linha;
          c.indexOf(texto);
         
            if(c.indexOf(texto)&gt; -1)
              {
               tem = true;
              }
       }
}

catch(IOException ex)

{

String mensagem = “não leu o arquivo”;

}

%>
<body>

<% if (tem==false ) {%>
<p> não encontrou no arquivo</P>

<% } else { %>

<p> Tem no arquivo a palavra  : <%=texto%></p>

<% } %>

</body>
</html>

R

Não sei não…

Eu acho que variáveis criadas dentro de um scriptlet ( contéudo entre <% … %> ) não têm visibilidade fora dele, é uma questão de escopo. Para isso tem que usar a tag declarativa.

Por exemplo:

<%! boolean tem; %>

Fazendo isso primeiramente… a variável tem fica disponível para acesso em qualquer scriptlet ou tags declarativas ( <%= … %> ).

Tem que se lembrar de retirar a declaração da primeira linha do seu try… trocar “boolean tem = false” por “tem = false”, já que a variável já foi declarada.

Abraços!

S

eu tirei minhas variáveis de dentro do bloco try e funcionou valew galera

P

Me chame de chato, mas você realmente acha que sua JSP deveria estar abrindo um arquivo?

S

CHATO!!

Criado 21 de fevereiro de 2005
Ultima resposta 21 de fev. de 2005
Respostas 5
Participantes 4