JSTL: problemas com c:set e fmt:parseNumber

3 respostas
T

Fala moçada. Td bem?
Estou montando uma pagina com JSTL e estou tentando fazer uma especie de validação pra poder eliminar o JavaSript.

Eu estou tentando criar um bean na sessao e “setar” um de seus atributos com o valor de um dos parametros de entrada do form(param.situacao).
O atributo “situacao” eh do tipo Integer na minha classe.

segue o codigo:

<jsp:useBean id="objUsr" class="usuario.entidade.Usuario" scope="session"/>

<c:set target="${objUsr}" property="situacao" value="<fmt:parseNumber value="${param.situacao}" type="number"/>"/&gt

Aí estou recebendo o seguinte erro:

org.apache.jasper.JasperException: /C01_ADM__GE__USUARIO_JSTL.jsp(35,108) Unterminated <c:set tag

Alguém tem alguma dica?

3 Respostas

V

cara,
vc já tem aspas duplas no c:set, sendo assim deve utilizar as pas simples pra não dar erro de interpretação entre as aspas duplas e as pas simples.

Sendo assim, faça:

<c:set target="${objUsr}" property=“situacao” value="<fmt:parseNumber value=’${param.situacao}’ type=‘number’/>"/>

T

Ah…eh mesmo
Mas olha soh.
Eu fiz a correção e agora estou seguindo o mesmo raciocinio para um outro atributo do meu bean do tipo java.sql.Timestamp.

olha o codigo:

&lt;c:set target="${objUsr}" property="data" value="&lt;fmt:parseDate value='${param.data}' type='date' dateStyle='short' pattern='dd/MM/yyyy'/&gt;"/&gt;

E olha a mensagem de erro que veio:

javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Attempt to convert String "&lt;fmt:parseDate value='05/09/2006' type='date' dateStyle='short' pattern='dd/MM/yyyy'/&gt;" to type "java.sql.Timestamp", but there is no PropertyEditor for that type

Será que terei que criar uma custom-tag para manipular o tipo java.sql.Timestamp???

bonfarj

Tente assim:

<c:set target="${objUsr}" property="data"> <fmt:parseDate value='${param.data}' type='date' dateStyle='short' pattern='dd/MM/yyyy'/> </c:set>

abraços,

Criado 5 de setembro de 2006
Ultima resposta 8 de mar. de 2007
Respostas 3
Participantes 3