Aspas e ; no out.println [RESOLVIDO]

Pessoal…
vai uma coisa (que deve ser bem besta) que não to conseguindo…

to tentando colocar um código html no servlet, e queria colocar um botao para enviar para uma certa página, só que o código possui aspas e ponto e vírgula… alguem sabe como coloco isso??

out.println(" <input type="button" onclick="javascript: location.href='index.jsp';" value="Voltar" /> ");

Acho que seu problema está sendo as aspas duplas, você precisa escapá-las.

Ex: se quer imprimir: type="button" tem que colocar assimout.println("type=\"button\"");

eu ja vi isso… mas não to conseguindo identificar onde colocar… sempre fica com erro…

não era para ficar assim?

<input type=\"button\"" onclick=\"javascript: location.href='index.jsp';\"" value=\"Voltar\"" />

Quase.System.out.println("<input type=\"button\" onclick=\"javascript: location.href='index.jsp';\" value=\"Voltar\" /> ");

caramba nem pronto consigo entender direito… rsrs…

mas valeu man… tudo certo

[quote=Rodrigo Sasaki]Acho que seu problema está sendo as aspas duplas, você precisa escapá-las.

Ex: se quer imprimir: type="button" tem que colocar assimout.println("type=\"button\"");[/quote]
Há uma explicação para isto.
Toda vez que o compilador java encontra algo assim " ele interpreta como String, até que, apareça uma ", que indica o fim desta String.
Acontece que essa interpretação pode ser ‘modificada’, com os chamados caracteres de escape.
Afinal, podemos ter a intenção de escrever algo como

System.out.println("E o poeta dizia: "Vou-me embora pra Pasárgada"");

Lógico que isto não funcionaria, pois a String considerada seria

E o poeta dizia: 

O compílador interpretaria como erro a parte posterior à esta.
Como resolver?
Bom, se colocarmos uma contra barra (ou barra invertida) \ antes do ", dizemos ao compilador que aquele caractere será interpretado não literalmente como o fim da String, mas, como apenas uma outra parte da mesma.
Assim sendo, o trecho acima ficaria

System.out.println("E o poeta dizia: \"Vou-me embora pra Pasárgada\"");

Isto será compilado adequadamente e trará a saída E o poeta dizia: “Vou-me embora pra Pasárgada”.

O mesmo serve para teu caso. Escape as aspas internas, para que a String seja lida de forma uniforme.
Além de escapar as aspas, a barra invertida permite inserir tabulação e quebra de linha, por exemplo.

System.out.println("\tEste possui\ttabulação");
System.out.println("\nEste possui quebra\nde linha");
1 curtida

valeu machado… 2x ajudando…

abs

Essa explicação aí vou até guardei nos favoritos :slight_smile:

verdade rodrigo…rsrs

muito boa… e valeu tbm