Обработка трех типов котировок

У меня есть файл JSP, который также использует JavaScript для некоторых операций. Чтобы отобразить заполненное поле ввода текста, я использую:

String s="theValue";
out.println("<input type='text' value='"+s+"' name='nameField' id='name' onchange=doSomething('str2','str1')/>");

Но это не сработает, если я не поставлю doSomething(str1,str2) в кавычки.

Я вынужден использовать три типа кавычек? Есть ли другой способ решить эту проблему?


person Lukasx    schedule 23.07.2015    source источник
comment
возможный дубликат вложенных кавычек в JavaScript/HTML   -  person jumps4fun    schedule 23.07.2015


Ответы (1)


Я не эксперт JSP, но вы не можете просто избежать кавычек, как это?:

out.println("<input ... onchange=\"doSomething('str2','str1')\"/>");

Или, в качестве альтернативы, поменяйте кавычки:

out.println('<input type="text" value="'+s+'" ... onchange="doSomething(\'str2\',\'str1\')"/>');

Или, в качестве альтернативы, используйте шаблоны и выводите динамический контент только там, где это необходимо, а остальное используйте как стандартный HTML.

<input type="text" value="<%= s %>" onchange="doSomething('str1', 'str2)"/>
person diggersworld    schedule 23.07.2015