我需要從包含Javascript(基於Angular的)框架所需的一些變量的MVC應用程序生成一個Javascript文件。將Java對象打印到Javascript文件
控制器將產生輸出如
var currentUser = {userId: "jdoe", firstname: "John", lastname: "Doe"};
var somethingElse = [];
之前你問是否有可能檢索來自AJAX調用的信息,讓我說,就目前來看,這是不可能的。
我想問一下是否有一個簡單,優雅和強大的方法來編組一個普通的Java對象到Javascript表示法。
到目前爲止,我已經嘗試利用JSON,醜陋的閱讀,而不是穩健的結果
printWriter.println(MessageFormat.format("var currentUser = JSON.parse(''{0}'');", objectMapper.writeValueAsString(user)));
要注意:
- JSON語法報價屬性的名稱,而JavaScript不。 JSON和Javascript類似但不同。所以我需要解析JSON,而不是寫整個JSON
- JSON允許單引號
'
,但這樣的語法JavaScript的繩剪斷,所以我需要逃脫單引號,如果任何 - 後,我轉義引號,我不t知道其他可能的陷阱
所以我想問一下,如果有一種更簡單的方法來將這樣一個對象以更強大但更智能的方式編組爲Javascript。
不使用AJAX是當前的要求。在一次調用中可以執行一次「大量」AJAX調用以便一次檢索所有需要的變量時,這將是永久的解決方案。
你可以簡單地封送對象爲JSON,然後從你的後端輸出前,逃避所有的單引號(用反斜槓\\)。在這一點上,簡單地調用JSON.parse就可以了。 – CollinD