JSP将带有XML字符的String属性传递给JavaScript函数不起作用
JSP passing String attribute with XML characters to JavaScript function not working
我需要将一个jsp字符串变量传递给一个javascript函数。这通常很简单,但我目前遇到了问题,因为我传递的字符串包含xml字符。
这是jsp(为了清晰起见,缩写)
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<body>
<input type="button" value="MyButton" onclick="myFunction('<c:out value="${current.xmlOutput}"/>');" />
</body>
</html>
"current.xmlOutput"中的值包含以下
<chart caption='Flight Hours' xAxisName='Flight' yAxisName='Hours' ><set label='AC908' value='126' /><set label='AC812' value='234' /><set label='AC184' value='78' /></chart>
生成的JSP源
<input type="button" value="MyButton" onclick="myFunction('< chart caption = 'Flight Hours' xAxisName = 'Flight' yAxisName = 'Hours'>< label = 'AC908' value = '126' /> < label = 'AC812' value = '234' /> < label = 'AC184' value = '78' /> </ chart >');" />
当我按下按钮时,它从不调用函数。如果"current.xmlOutput"包含一个类似"Test"的简单字符串,则一切正常。在chrome开发工具中,它会给我以下消息"Uncaught SyntaxError:Unexpected identifier"
另外,我有一个过滤器来完成这个req.setCharacterEncoding("UTF-8");有人知道我做错了什么吗?如有任何帮助,我们将不胜感激。
感谢
原来我的问题是xml中的单引号。代替
<chart caption='Flight Hours'
应该是
<chart caption=''Flight Hours''
如果您通过Java/Servlet将字符串传递给jsp,那么您将需要这个
String xmlToPass = "<chart caption = '''Flight Hours''' "
相关文章:
- 幻灯片滚动javascript不起作用
- 当我在浏览器中打开HTML文件时,javascript不起作用
- 来自MDN的循环示例的JavaScript不起作用
- 在IE中切换javascript不起作用的复选框
- 在SVG中创建带有外来对象的文本区域的Javascript不起作用
- 寻呼<李>javascript不起作用
- 想制作一个基于URL的音频播放器,但Javascript不起作用
- 从Android设备浏览时Javascript不起作用
- 在 Javascript 不起作用的情况下为数字添加逗号
- 获取PHP变量的JavaScript不起作用
- 有些JavaScript不起作用
- 保存HTML文件后,Javascript不起作用
- onClick javascript不起作用
- 在Wicket ModalWindow中使用Panel时,HTML中的Javascript不起作用
- Jquery顶部的两行Javascript不起作用
- 当我通过Node服务器提供HTML时,为什么我的页面Javascript不起作用
- Javascript不起作用,但当放置断点并从chrome调试器工具中单击文件时,它可以正常工作
- 为不同的屏幕分辨率加载css样式的Javascript不起作用
- 在IE9中javascript不起作用,但在打开控制台后它就起作用了
- 为什么Javascript不起作用