Dúvida e erro usando JSP e JS

4 respostas
A

Caros,

estou com um formulário que faz o cadastro de um item. Após este cadastro, o sistema retorna para a mesma tela, recuperando alguns campos, permitindo que um novo cadastro utilize dados do último realizado. Um scriptlet recupera os dados do formulário (através do request) e, através de um javascript, preenche os campos do formulário.
Estou tendo problemas quando, num campo textarea, o usuário insere uma quebra de linha. O javascript está reclamando que a string não está fechada.
O código que faz isso é o seguinte:

req_doc_comment = '<%=request.getParameter("doc_comment")%>'; frm.doc_comment.value = isNotNull(req_doc_comment) ? req_doc_comment : "";
Já tentei fazer um tratamento disso, via scriptlet mas quando eu uso métodos String é gerada uma exceção (NullPointerException). Alguém tem idéia da causa disso?
Sabe alguma outra forma de eu tratar essa quebra de linha?

Obrigado e abraços

4 Respostas

rubinelli

Dá NullPointerException porque na primeira vez o parâmetro ainda não existe na request. Você pode fazer esse pré-processamento no seu servlet, passando o resultado como attribute. Outros caracteres que você vai ter que converter são as aspas simples e duplas.

A

hum… uma coisa tão clara e obvia que eu não consegui enxergar… Muito obrigado pela ajuda!

A

Então, continuando as minhas dúvidas básicas: estou tentando substituir a quebra de linha por qualquer outra coisa que o JS reconheça e não reclame. Porém o replace não está tirando a qubra. ele adiciona o novo caracter, mas ainda está devolvendo uma string com uma quebra ao JS. Se eu faço um replace de a por b ele troca certinho. Mas se eu faço um replace de ‘\n’ por, por exemplo, ’ ’ ele inclui o ’ ’ e mantém a quebra.
O que eu estou fazendo de errado dessa vez? O código que estou usando é o seguinte:

req_doc_comment = '<%=request.getParameter("doc_comment")!=null?request.getParameter("doc_comment").replace('\n',' '):""%>'; frm.doc_comment.value = isNotNull(req_doc_comment) ? req_doc_comment : "";

Alguma idéia? Vi em outros fóruns que outras pessoas tiveram problemas com isso, mas não vi nenhuma solução que me ajudasse (e nem nada que me desse uma luz). Tentei inserir isso direto no form assim:

mas também não deu. Uma ajudinha, por favor!!! :slight_smile:

Obrigado

A

RESOLVIII!!!
ficou assim:

Meio tosco? talvez, mas funcionou belezinha
Eu não tava colocando o retorno de carro (\r) e aí tava ficando estranho… mas agora rolou!
Valeu gente!

Criado 13 de novembro de 2008
Ultima resposta 14 de nov. de 2008
Respostas 4
Participantes 2