如何从我的Servlet将新行字符传递给JavaScript?
我设置在请求属性如下:如何从我的Servlet将新行字符传递给JavaScript?
confirmMsg = "REf No: \n 112";
req.setAttribute("confirmMsg", confirmMsg);
我需要显示像上述(在警报箱):
参考编号:
我在JavaScript中使用以下onload函数来显示加载页面时的消息。
function onLoad() {
var msg = "${confirmMsg}";
if(msg != null && msg != "") {
alert(msg);
}
}
以上抛出脚本错误?我如何通过换行符?
\n
需要JavaScript转义才能放入JavaScript字符串文字中。
使用commons-lang StringEscapeUtils.escapeECMAScript()
来简化消息,并将此转义消息传递给您的JSP。
正如我所提到的,不要混淆JSP和JavaScript。
你想要做的是从你的JSP/Servlet(JSP是一个Servlet)中输出一个字符串消息,用于JavaScript代码块。
要做到这一点,您的消息需要编码为JavaScript,比如使用JB Nizet描述的StringEscapeUtils.escapeECMAScript方法。
然后,你需要在你的JSP或Servlet创建响应,输出要将它的JavaScript时采取行动的变量,为此,你做
<%= confirmMsg %>
,而不是$ {}作为是一种表达式语言,并不总是在每个jsp中都可用。
总之,从 “$ {confirmMsg}” 变化到<%= confirmMsg%>或<(%)=(字符串)的request.getParameter( “confirmMsg”)%> //或request.getAttribute等
JSP EL已在yeaaaars之前引入。 Scriptlets是过去的几年和几年不应该使用的东西。 – 2012-04-18 14:55:08
请不要混淆JSP和JavaScript。这些词的含义没有什么共同之处。 – rapadura 2012-04-18 13:33:39
你收到的是什么“脚本错误”? – Anonymoose 2012-04-18 20:44:25