使用freemarker赋值给js变量,变量包含换行会报错
这个问题百度找不到答案,后来自己摸索解决了
<script type="text/javascript"> var editor1 = ace.edit("request_body"); editor1.setTheme("ace/theme/tomorrow"); editor1.session.setMode("ace/mode/javascript"); <#if mockDto.body !!> var val = '${mockDto.body}';//这里如果有换行符会报错 editor2.session.setValue(val); </#if> </script>
页面控制台会报错
解决办法:
在页面加一个隐藏域,先用freemarker赋值,再读取这个隐藏域的值
...
//这里加个?html为了解决,文本是HTML,页面出现问题 <input type="hidden" name="body_value" value="${mockDto.body?html}"/> ... <#if mockDto.body !!> var val = $("input[name='body_value']").val(); editor2.session.setValue(val); </#if>
解决问题!!!!