我有一個基於Java的應用程序讀取文件並在基於代碼鏡像的編輯器中顯示該文件。 java代碼讀取用戶選擇的文件並將其轉換爲字符串。然後該字符串使用'editor.setvalue'傳遞給編輯器。問題是任何硬編碼的字符串都顯示正常。但如果它是從文件讀取,然後我得到一個錯誤使用setvalue使用Java在基於codemirror的編輯器中加載文件時出現的JSException
Caused by: netscape.javascript.JSException: SyntaxError: Unexpected EOF
我能夠正確打印文件,沒有問題。
這是我正在嘗試在java中做什麼。
String sb = FileUtils.readFileToString(file);
webengine.executeScript("editor.setValue('" + sb + "');");
「webengine.executescript」是一種javafx方法,用於調用可在web引擎中呈現的html可見的javascript函數。
我的代碼鏡子代碼。
<form>
<textarea id="code" name="code">
</textarea>
</form>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers : true,
matchBrackets : true,
mode : "text/x-java",
theme : "theme_value",
indentUnit : 4,
gutter: true
});
</script>
我無法理解哪些所有字符導致此問題。 我嘗試使用「+」運算符添加兩個字符串,並顯示添加的字符串。但是,當我在字符串之間插入換行符「\ n」時,我開始得到相同的錯誤。我嘗試用
替換換行符,但沒有太多幫助,因爲它們顯示爲不破壞行。