Problemas com IF do JSTL

3 respostas
A

Ae gente to com um problema no JSTL e gostaria da ajuda de vocês, vou mostrar meu código e depois o erro que tá dando...

Página "index.jsp"

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

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

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form name="form1" action="recebeDados.jsp" method="POST">
            <table border="0">
                <thead>
                    <tr>
                        <th colspan="2">Cadastrar Dados na Agenda</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Nome:</td>
                        <td><input type="text" name="nome" value="" size="35" /></td>
                    </tr>
                    <tr>
                        <td>Endereço:</td>
                        <td><input type="text" name="endereco" value="" size="35" /></td>
                    </tr>
                    <tr>
                        <td>Bairro:</td>
                        <td><input type="text" name="bairro" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td>Cidade:</td>
                        <td><input type="text" name="cidade" value="" size="20" /></td>
                    </tr>
                    <tr>
                        <td>Estado:</td>
                        <td><input type="text" name="estado" value="" size="4" /></td>
                    </tr>
                    <tr>
                        <td>CEP:</td>
                        <td><input type="text" name="cep" value="" size="9" /></td>
                    </tr>
                    <tr>
                        <td>Telefone:</td>
                        <td><input type="text" name="telefone" value="" size="15" /></td>
                    </tr>
                    <tr>
                        <td colspan="2"><input type="submit" value="Enviar" />
                        </td>
                    
                    </tr>
                </tbody>
            </table>

        </form>

    
    
    </body>
</html>

Página "recebeDados.jsp"

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

<sql:setDataSource driver="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/agenda" user="root" password=""
var="datasource"/>

<c:if test="${param.nome "&& param.endereco"}">
    <sql:update var="inserido" dataSource="${datasource}">
        INSERT INTO registros(nome,endereco,bairro,
        cidade,estado,cep,telefone)
        VALUES (?,?,?,?,?,?,?);
        <sql:param value="${param.nome}">
        <sql:param value="${param.endereco}">
        <sql:param value="${param.bairro}">
        <sql:param value="${param.cidade}">
        <sql:param value="${param.estado}">
        <sql:param value="${param.cep}">
        <sql:param value="${param.telefone}">
    </sql:update>
</c:if>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Recebendo Dados</title>
    </head>
    <body>

        <c:if test="${inserido>0}">
            O nome
            <b>
                <c:out value="${param.nome}"/>
            </b> f
            foi Inserido com Sucesso !<br/>
        </c:if>
        
        <sql:query var="results" dataSource="${datasource}">
            SELECT *  FROM registros
        </sql:query>
        
        <table border="1">
        <tr>
            <th colspan="2">Agenda</th>
        </tr>
        <tr>
            <th>Nome</th><th>Telefone</th>
        </tr>
        
        <c:forEach var="row" items="${results.row}">
            <tr>
                <td><c:out value="${row.nome}"></td>
                <td><c:out value="${row.nome}"></td>
            </tr>
        </c:forEach>
        </table>
        
        
    </body>
</html>
O erro é na seguinte linha
<c:if test="${param.nome "&& param.endereco"}">
e dá a seguinte mensagem:

org.apache.jasper.JasperException: Unterminated <c:if tag
C:/Documents and Settings/José/Desktop/Adriano/ProjetosWEB/ProjetoTesteJSTL/build/web/recebeDados.jsp(10,26)
C:\Documents and Settings\José\Desktop\Adriano\ProjetosWEB\ProjetoTesteJSTL\nbproject\build-impl.xml:361: The following error occurred while executing this line:
C:\Documents and Settings\José\Desktop\Adriano\ProjetosWEB\ProjetoTesteJSTL\nbproject\build-impl.xml:342: Java returned: 1

Ficaria muito grato a quem pudesse me ajudar !!!

Abraços :cool:

3 Respostas

G

Tenta:

<c:if test="${param.nome && param.endereco}">
A

Valew cara, resolveu bacana, só que ele tá pulando o código e não tá inserindo… mas tá pegando os dados do BD… Sabes o que pode ser p ele não tá inserindo os dados no Banco ??

Desde já gradeço !!! :cool:

G

Fica difícl achar o erro assim… faz um tratamento de exceções e coloca o stackTrace aqui.

Criado 6 de novembro de 2006
Ultima resposta 8 de nov. de 2006
Respostas 3
Participantes 2