我需要将 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"); 有人知道我在做什么错吗?任何帮助,将不胜感激。
谢谢