Preencher javaScript via JSTL com string de multiplas linhas

3 respostas
C

Pessoal, bom dia.

Estou tendo o seguinte problema: Tenho um código jstl numa página jsp, cuja função é pegar o valor de uma determinada string e montar um código de atribuição de uma variável, dentro do javaScritpt. O problema é quando a string retorna com várias linhas, pois dá problemas de sintax.

Eu uso este javaScript para preencher um texto dinâmico na página via innerHtml, pois não este resultado não posso preencher em componentes como edit ou textedit.

Alguém teria ideia de como resolver este problema?

3 Respostas

J

Você deve substituir todos os caracteres de quebra de linha por \n

ex:

String valor = pegaValor();

valor = valor.replaceAll("\n","\n");

valor = valor.replaceAll("\r","");

isso no java jdk 1.4

dudaskank

Não sei se consegui entender direito, mas você tem os problemas só quando preenche text areas? Ou é com qualquer campo?

E porque você não pode colocar em edits ou text areas?

Você pode mandar a página processada, mais precisamente o javascript que é criado, para ajudar a localizar o seu problema?

:slight_smile:

[edit]é… isso também, hehehe[/edit]

C

Valeu pelas respostas pessoal!!!

Mais eu consegui resolver isto de um outro modo, que achei melhor: Via JSTL.

No caso Utilizei a TAG
String TagLib.

Abaixo segue um exmplo que usei no meu código:

window.document.frmCadastroPerguntas.txtPergunta.value = "<str:replace replace='

’ with=’\r\n’>${perguntaBaseConhecimento.pergunta}</str:replace>";

No caso entre o “replace=’” e o “’ with=…”, tem que ter a quebra de linha, caso contrário não funciona. Tem um exemplo na página para fazer de outro modo, mais comigo não funcionou.

Criado 15 de março de 2005
Ultima resposta 17 de mar. de 2005
Respostas 3
Participantes 3