我需要從后端獲取資料,它將通過前端的 JSP 分配給區域變數。來自后端的實際字串資料如下:
"{\"deltas\":[{\"source\":{\"position\":63,\"lines\":[]},\"target\":{\"position\":65,\"lines\":[\"return {\"]},\"type\":\"INSERT\"},{\"source\":{\"position\":57,\"lines\":[\"//comment one\",\"//comment two\",\"//comment three\"]},\"target\":{\"position\":62,\"lines\":[]},\"type\":\"DELETE\"},{\"source\":{\"position\":53,\"lines\":[\"\"]},\"target\":{\"position\":56,\"lines\":[\"version.open(options,endpoint, false);\",\"version.send(payload);\",\"result \= version.responseE4X;\"]},\"type\":\"CHANGE\"},{\"source\":{\"position\":44,\"lines\":[]},\"target\":{\"position\":44,\"lines\":[\" \\\"\<sch:status\>\\\" status \\\"\</sch:status\>\\\" \",\" \\\"\<sch:workflowExternalRef\>\\\" refId \\\"\</sch:workflowExternalRef\>\\\" \",\" \\\"\<sch:description\>\\\" description \\\"\</sch:description\>\\\" \"]},\"type\":\"INSERT\"},{\"source\":{\"position\":42,\"lines\":[\"} else if(taskType\=\=\\\"registration\\\"){\"]},\"target\":{\"position\":42,\"lines\":[\"} else if(taskType\=\=\\\"appRegistration\\\"){\"]},\"type\":\"CHANGE\"},{\"source\":{\"position\":35,\"lines\":[\"} else if(taskType\=\=\\\"app\\\"){\"]},\"target\":{\"position\":35,\"lines\":[\"} else if(taskType\=\=\\\"application\\\"){\"]},\"type\":\"CHANGE\"},{\"source\":{\"position\":28,\"lines\":[\"} else if(taskType\=\=\\\"signup\\\"){\"]},\"target\":{\"position\":28,\"lines\":[\"} else if(taskType\=\=\\\"user-signup\\\"){\"]},\"type\":\"CHANGE\"},{\"source\":{\"position\":14,\"lines\":[\" { name : \\\"\\\", value :cookie },\"]},\"target\":{\"position\":14,\"lines\":[\" { name : \\\"Cookie\\\", value :cookie },\"]},\"type\":\"CHANGE\"},{\"source\":{\"position\":11,\"lines\":[\"var cookie\=session.get(\\\"\\\");\"]},\"target\":{\"position\":11,\"lines\":[\"var cookie\=session.get(\\\"workflowCookie\\\");\"]},\"type\":\"CHANGE\"}]}"
我正在使用 JSP 將其分配給一個區域變數,如下所示:
var diffOutputList = '<c:out value="${diffResponse.diffOutputList}"/>'
在此之后,當我在控制臺中列印 diffOutputList 時,它的列印如下:
{"deltas":[{"source":{"position":63,"lines":[]},"target":{"position":65,"lines":["return {"]},"type":"INSERT"},{"source":{"position":57,"lines":["//comment one","//comment two","//comment three"]},"target":{"position":62,"lines":[]},"type":"DELETE"},{"source":{"position":53,"lines":[""]},"target":{"position":56,"lines":["version.open(options,endpoint, false);","version.send(payload);","result = version.responseE4X;"]},"type":"CHANGE"},{"source":{"position":44,"lines":[]},"target":{"position":44,"lines":[" "<sch:status>" status "</sch:status>" "," "<sch:workflowExternalRef>" refId "</sch:workflowExternalRef>" "," "<sch:description>" description "</sch:description>" "]},"type":"INSERT"},{"source":{"position":42,"lines":["} else if(taskType=="registration"){"]},"target":{"position":42,"lines":["} else if(taskType=="appRegistration"){"]},"type":"CHANGE"},{"source":{"position":35,"lines":["} else if(taskType=="app"){"]},"target":{"position":35,"lines":["} else if(taskType=="application"){"]},"type":"CHANGE"},{"source":{"position":28,"lines":["} else if(taskType=="signup"){"]},"target":{"position":28,"lines":["} else if(taskType=="user-signup"){"]},"type":"CHANGE"},{"source":{"position":14,"lines":[" { name : "", value :cookie },"]},"target":{"position":14,"lines":[" { name : "Cookie", value :cookie },"]},"type":"CHANGE"},{"source":{"position":11,"lines":["var cookie=session.get("");"]},"target":{"position":11,"lines":["var cookie=session.get("workflowCookie");"]},"type":"CHANGE"}]}
但我需要以下格式的字串:
'{"deltas":[{"source":{"position":63,"lines":[]},"target":{"position":65,"lines":["return {"]},"type":"INSERT"},{"source":{"position":57,"lines":["//comment one","//comment two","//comment three"]},"target":{"position":62,"lines":[]},"type":"DELETE"},{"source":{"position":53,"lines":[""]},"target":{"position":56,"lines":["version.open(options,endpoint, false);","version.send(payload);","result = version.responseE4X;"]},"type":"CHANGE"},{"source":{"position":44,"lines":[]},"target":{"position":44,"lines":[" \\"<sch:status>\\" status \\"</sch:status>\\" "," \\"<sch:workflowExternalRef>\\" refId \\"</sch:workflowExternalRef>\\" "," \\"<sch:description>\\" description \\"</sch:description>\\" "]},"type":"INSERT"},{"source":{"position":42,"lines":["} else if(taskType==\\"registration\\"){"]},"target":{"position":42,"lines":["} else if(taskType==\\"appRegistration\\"){"]},"type":"CHANGE"},{"source":{"position":35,"lines":["} else if(taskType==\\"app\\"){"]},"target":{"position":35,"lines":["} else if(taskType==\\"application\\"){"]},"type":"CHANGE"},{"source":{"position":28,"lines":["} else if(taskType==\\"signup\\"){"]},"target":{"position":28,"lines":["} else if(taskType==\\"user-signup\\"){"]},"type":"CHANGE"},{"source":{"position":14,"lines":[" { name : \\"\\", value :cookie },"]},"target":{"position":14,"lines":[" { name : \\"Cookie\\", value :cookie },"]},"type":"CHANGE"},{"source":{"position":11,"lines":["var cookie=session.get(\\"\\");"]},"target":{"position":11,"lines":["var cookie=session.get(\\"workflowCookie\\");"]},"type":"CHANGE"}]}'
uj5u.com熱心網友回復:
c:out在渲染中自動轉義 XML 標記。轉義替換"為".
您可以使用引數禁用轉義escapeXml:
var diffOutputList = '<c:out escapeXml="false" value="${diffResponse.diffOutputList}" />'
但在這種情況下,c:out并不是真的必要,您可以使用:
var diffOutputList = '${diffResponse.diffOutputList}'
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/427035.html
標籤:javascript jsp
