Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как бороться с Esc-последовательностью? / 4 сообщений из 4, страница 1 из 1
04.11.2014, 12:38
    #38795099
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как бороться с Esc-последовательностью?
Чет не пойму, как победить след код:
Код: xml
1.
<button onclick='foo(${someObject.stringParam})'>Send</button>


Если в stringParam есть апостроф, то все летит в "Uncaught SyntaxError: Unexpected identifier"

В геттере и сеттере stringParam делаю
Код: java
1.
replaceAll("'", "&apos;")


но это разумеется не помогает. Что делать?
...
Рейтинг: 0 / 0
04.11.2014, 13:44
    #38795144
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как бороться с Esc-последовательностью?
...
Рейтинг: 0 / 0
04.11.2014, 14:19
    #38795171
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как бороться с Esc-последовательностью?
UsmanNDAleksey,

http://stackoverflow.com/questions/10416774/regular-expression-to-remove-special-characters-in-jstl-tags ???

Спасибо, интересное решение, но я все же сделал по-своему. Если не затруднит, скажите, чем плох следующий подход:

Как и говорил, делаю в геттерах и сеттерах замену апострофов на ' - т.е. в табличке в БД в поле stringParam хранятся обработанные значения;

в onclick пишу:
Код: xml
1.
<button onclick="foo('${fn:escapeXml(someObject.stringParam)}')">Send</button>


что подсовывается в onclick как, допустим:
Код: xml
1.
<button onclick="foo('I&apos;m a string param')">Send</button>



В <form> с отображением в <textarea> (ибо проблемы именно с отображением в элементах формы), я делаю замену ' обратно на апострофы в той же замечательной функции foo :
Код: javascript
1.
2.
3.
function foo(stringParam) {
    document.getElementById('textAreaId').innerText = stringParam.replace(/&apos;/g, "'");
}



Как то так. Такой прием сойдет? Или есть подводные камни?
...
Рейтинг: 0 / 0
04.11.2014, 14:34
    #38795187
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как бороться с Esc-последовательностью?
NDAleksey,

- Лучше убрать код замены из getter/setter, функции escapeXml будет достаточно.
- Имеется функция unescapeXml, обратная escapeXml
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как бороться с Esc-последовательностью? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]