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」のような単純な文字列が含まれている場合、すべて正常に機能します。クロム開発者ツールでは、「Uncaught SyntaxError: Unexpected identifier」というメッセージが表示されます
また、これを行うフィルターがあります req.setCharacterEncoding("UTF-8"); 私が間違っていることを知っている人はいますか?どんな助けでも大歓迎です。
ありがとう