2
respostas

Essa sentença está errada?

Com relação ao uso da JSTL

<c:forEach var="produto" items="${produtos}">

    <option value="${produto.id}" <c:if test="${not empty produtoBanco && produtoBanco.id == produto.id}">selected="selected"</c:if>>${produto.nome}
 (${produto.marca.nome})</option>

</c:forEach>
2 respostas

Oi Thiago, tudo bem ?

Estou achando estranho apenas essa variavel chamada produtoBanco aparentemente não esta vindo de nenhum lugar.

Outra coisa importante é você abrir e fechar uma tag antes de usar outra.

 <option value="${produto.id}" <c:if test="${not empty produtoBanco && produtoBanco.id == produto.id}">selected="selected"</c:if>>${produto.nome}
 (${produto.marca.nome})</option>

Talvez o que você devesse fazer :

 <option value="${produto.id}" >
<c:if test="${not empty produtoBanco && produtoBanco.id == produto.id}"> selected="selected"</c:if>>${produto.nome}
 (${produto.marca.nome})</option>

E assim ainda acho que fica um pouco confuso, esse selected para mim está perdido.

Amigo, eu utilizei o pra verificar se o campo do select é o mesmo campo que foi passado, se sim, ele adiciona o atributo selected="selected" a tag < option>.

Estou perguntando pois agora que estou usando o Eclipse Oxygen vem marcando esse trecho como erro. Ele acusa que não foi encontrado o fim da tag < option>. Mas mesmo apresentando o erro a linha funciona normalmente.

Anteriormente eu utilizava o Eclipse Neon, e nele não dava esse erro. Será que pode ser algum problema nas lib?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software