Tratar campo vazio no JSTL [RESOLVIDO]

9 respostas
P

pessoal…
existe alguma função do jstl que trate campo vazio? se for vazio colocar “0” ou “-” de uma maneira mais fácil do que tratar campo a campo??

Meu código:

<c:if test="${listaCL ne null}">
	<hr>   
	<table bgcolor="#F6F4F4" border="1px" cellspacing="0" cellpadding="5" whidth="80%" height="80%">
			<tr class="tabela">
				<td>Dispositivo</td>
				<td>Tecnologia</td>
				<td>APN Configurada</td>
				<td>SIMCard</td>
				<td>Linha</td>
				<td>Operadora</td>
				<td>APN Provisionada</td>
				<td>Status SIMCard</td>
				<td>Fonte</td>
				<td>IMEI</td>
				<td>IMSI</td>
				<td>Status Linha</td>
				<td>Consumo</td>
				<td>Matrícula</td>
			</tr>
			<c:forEach var="listaCL" items="${listaCL}">
				<tr class="resultado">
					<td><c:out value="${listaCL.dispositivo}"/></td>
					<td><c:out value="${listaCL.codTecnologia}"/></td>
					<td><c:out value="${listaCL.apnConfigurada}"/></td>
					<td><c:out value="${listaCL.simCard}"/></td>
					<td><c:out value="${listaCL.linha}"/></td>
					<td><c:out value="${listaCL.operadora}"/></td>
					<td><c:out value="${listaCL.apnProvisionada}"/></td>
					<td><c:out value="${listaCL.statusSIMCard}"/></td>
					<td><c:out value="${listaCL.fonte}"/></td>
					<td><c:out value="${listaCL.imei}"/></td>
					<td><c:out value="${listaCL.imsi}"/></td>
					<td><c:out value="${listaCL.statusLinha}"/></td>
					<td><c:out value="${listaCL.consDados}"/></td>
					<td><c:out value="${listaCL.matricula}"/></td>
				</tr>
			</c:forEach>
	</table>
	<hr>
	</c:if>

9 Respostas

A

Tentou usar o empty?

&lt;c:if test="${empty listaCL}"&gt;
P

Oi adriano tudo bom?

to começando agora a usar JSTL… não manjo…

quando coloco essa condição, como seto o valor no campo??

A

Não tem muito segredo, é só trocar usa primeira linha:

&lt;c:if test="${listaCL ne null}"&gt;

Por:

&lt;c:if test="${empty listaCL}"&gt;
P

Oi adriano…

esse null é outra coisa… é para não mostrar o título das colunas que serão apresentadas…

o que quero é se o campo for vazio ou nulo, mostrar “0” ou “-”

D

use a tecnica “Tell, Don’t Ask”

em vez de vc verificar no jsp, verifique dentro do seu getter , e caso for nullo ou vazio vc retorna a string que vc quer

é so uma dica

K

vc pode usar if ternario :

<td><c:out value='${objeto.valor != null ? objeto.valor : "0"}'/></td>

ou seja, se(if) o objeto não for null ele seta o valor que vem depois da interrogação, senão(else) ele seta o valor que vem depois dos dois pontos( : )

abrass

K

Danilo Andrade, as vezes não é bom mudar o domínio por questões da view

P

Oi danilo… no get eu recebo uma lista… tratar la seria muito trabalhoso tbm…

Kadu… era exatamente isso… funcionou perfeitamente… tks

D

entendo, mas em algumas situações onde o objeto exibido na view é apena um objeto de representação como um VO acho valido essa abordagem, evita de encher de c:if o jsp

mas tenho que admitir sua abordagem ficou melhor

Criado 30 de janeiro de 2013
Ultima resposta 30 de jan. de 2013
Respostas 9
Participantes 4