编辑:其实,我觉得这个解决方案是一个小更清洁,并使下面的代码不必要。在速度页面中,所有需要的是利用Spring框架。所以,我这个替换textarea的,像这样:
#springBindEscaped("myJavaObj.textAreaText" true)
$!status.value
这与一些后端的Java验证配对,并最终成为一个更清洁的解决方案。
但是,如果你想有一个无弹簧/速度的解决方案,那么这下面工作得很好
我拼凑起来的一个快速解决方案作为我的主要目的是为了消除别人轻松执行脚本的能力。这是不理想的,我“米不是说这是最好的答案,所以,如果有人发现一个更好的解决方案,请不要共享我创建了一个。‘的sanitize’功能,像这样:
function sanitize(text){
var sanitized = text.replace("
sanitized = sanitized.replace("", "");
return sanitized;
}
然后前两事件处理程序现在看起来像:
$(".main").on("keyup", "#actualTextArea", function() {
var textAreaMarkup = $('#actualTextArea').val();
var sanitizedMarkup = sanitize(textAreaMarkup);
$('#actualTextArea').val(sanitizedMarkup);
$('#previewTextArea').html(sanitizedMarkup);
});
// This one can remain unchanged and infact needs to be
// If it's the same as above it will wipe the text area
// on a highlight-backspace
$(".main").on("keydown", "#actualTextArea", function() {
$('#previewTextArea').html($('#actualTextArea').val());
});
随着Java方面的卫生,以防止任何伤害被存储在数据库中,这符合我的目的,但我很开放的一个更好的解决方案,如果它存在。