我正在开发JSP / Servlet网站。我在JSP页面中有一个表单,它调用Servlet进行一些处理,然后将结果反馈回Same JSP页面。 表单有textarea,它从用户那里获取HTML代码,我使用语法高亮工具为textarea格式化textarea中的代码。
问题是当我在更新页面后保留textarea的值时,如果输入的代码包含textarea元素,它将嵌套textarea的结束标记呈现为父textarea的结束标记。我以这种方式保留了价值:
var text = ["0h2abe1zy"]
var decode = function () {
for(var i=0; i < text.length; i++) {
if (text[i]!==isNaN){
console.log( )
};
};
};
以下是发生的事情的示例:
如果用户在textarea中输入此内容,则所有内容都会正确保留:
<textarea rows="30" cols="80" id="txtArea" name="txtArea"
placeholder="Enter your code" >${param.txtArea}</textarea>
但是,如果用户输入:
<form >
<label for="name">Your name:</label><br />
<input id="name" type="text" />
<input id="submit_button" type="submit" value="Send email" />
</form>
它将保留这些行:
<form >
<label for="name">Your name:</label><br />
<input id="name" type="text" />
<textarea id="message" class="input" name="message" rows="7" cols="30"></textarea>
<input id="submit_button" type="submit" value="Send email" />
</form>
关闭textarea标签,之后的所有内容都不会保留在textarea中。并呈现为HTML代码。任何人都可以帮我找到保留用户输入的所有内容的方法吗?或者如何转义textarea的第一个结束标记?
答案 0 :(得分:0)
我建议您使用javascript为文本区域元素指定所需的值。见下面的例子。
请注意,您可能需要转义引号。你可以用java或javascript来处理它。尽管如此,javascript将更容易处理您想要与使用java / jsp占位符相媲美的内容。
以下是在javascript中处理它的示例。
<!DOCTYPE html>
<html><body>
<textarea id="outerArea" cols=50 rows=10></textarea>
<script type="text/javascript">
var textAreaValue = '<form>'
+' <input type="text"><br>'
+' <textarea>Inner Text Area</textarea>'
+'</form>';
document.getElementById("outerArea").value = textAreaValue;
</script>
</body>
</html>
EDIT 回答OP的评论:Javscript还有很长的路要走。使用JSP和Javascript变量。
<!DOCTYPE html>
<html>
<header>
<script type="text/javascript">
function copyContent() {
document.getElementById("area1").value = ${param.txtArea};
}
</script>
</header>
<body>
<textarea id="area1" cols=50 rows=10></textarea>
</body>
</html>
答案 1 :(得分:0)
如果您将HTML放入textarea标签的value属性中,它将正常工作。
就像那样:
client
答案 2 :(得分:0)
我只是使用标签覆盖了我的textarea,然后如果需要显示输出的设计,请使用jquery的wyswyg插件。
<script src="jquery.richtext.js"></script>
<textarea value="<!DOCTYPE html>
<html>
<head>
<title>
Example page
</title>
</head>
<body>
<textarea>
<code>
some html code here with style<h1>text</h1>
or any
</code>
</textarea>
</body>
</html>"></textarea>