У меня есть контроллер пружинного со следующим кодом:HTML теги хранятся в ModelMap не интерпретируются как HTML браузера
@RequestMapping(value="/getMessage.htm", method=RequestMethod.POST)
protected String uploadFile(ModelMap model){
//... other codes
model.addAttribute("theMessage", "Hello world <b>how are you</b> today?");
return "the-view";
}
В стороне клиента (JavaScript), я показываю это сообщение, используя следующий код:
document.getElementById('theMessageSpan').innerHTML = '<c:out value="${theMessage}"/>';
Но когда она отображается, это показывает строковый литерал
Hello world <b>how are you</b> today?
мне нужно, чтобы показать сообщение, как:
Hello world
как тыtoday?
Я попытался с помощью Apache Commons' StringEscapeUtils.unescapeHtml
перед вводом текста в ModelMap
, но результат такой же.
Любые мысли?
Ничего себе, это было быстро! Проблема решена. Спасибо! Я приму этот ответ, как только stackoverflow позволит мне. – Bnrdo
@onepotato Добро пожаловать. st найти документы тоже ... –
Кроме того, вы можете просто пропустить с помощью 'c: out'. Например. '... innerHTML = '$ {theMessage}';' Нотация скобок JSTL не удаляет XML по умолчанию, как 'c: out'. На самом деле, я думаю, что это самая большая разница между ними. Если вы не избегаете XML, убедитесь, что вы каким-то образом дезинфицируете данные, если они введены пользователем. –