javascript(使用SpringMVC)的Thymeleaf编码问题
我使用的是SpringMVC+v3,当涉及到html头部定义的javascript中的一些数据时,会出现编码问题。下面是head中定义的javascript:javascript(使用SpringMVC)的Thymeleaf编码问题,javascript,spring-mvc,encoding,thymeleaf,Javascript,Spring Mvc,Encoding,Thymeleaf,我使用的是SpringMVC+v3,当涉及到html头部定义的javascript中的一些数据时,会出现编码问题。下面是head中定义的javascript: function addtab(count) { var closetab = '<a href="" id="close'+count+'" class="close">×</a>'; $("#tabul").append('<li id
function addtab(count) {
var closetab = '<a href="" id="close'+count+'" class="close">×</a>';
$("#tabul").append('<li id="t'+count+'" class="ntabs">Tab '+count+' '+closetab+'</li>');
$("#tabcontent").append('<p id="c'+count+'">Tab Content '+count+'</p>');
函数添加选项卡(计数){
var closetab='';
$(“#tabul”).append(“选项卡“+count+”+closetab+” ”);
$(“#tabcontent”).append(“选项卡内容“+count+”
”);
问题在于,仅用于转义html属性字符串的撇号被替换为“html编码”,并在浏览器客户端接收时导致以下结果:
function addtab(count) {
var closetab = '<a href="" id="close'+count+'" class="close">×</a>';
$("#tabul").append('<li id="t'+count+'" class="ntabs">Tab '+count+' '+closetab+'</li>');
$("#tabcontent").append('<p id="c'+count+'">Tab Content '+count+'</p>');
函数添加选项卡(计数){
var closetab='';
$(“#tabul”).append(“Tab“+count+”+closetab+” ”);
$(“#tabcontent”).append(“”);
请注意,只有html属性值撇号经过html编码,html标记的值部分中的撇号是ok的
以下是我的web servlet部分,其中包含thymeleaf的配置:
<beans:bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".html" />
<beans:property name="characterEncoding" value="UTF-8" />
<beans:property name="templateMode" value="HTML5" />
</beans:bean>
<beans:bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<beans:property name="templateResolver" ref="templateResolver" />
</beans:bean>
<beans:bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<beans:property name="templateEngine" ref="templateEngine" />
<beans:property name="characterEncoding" value="UTF-8" />
<beans:property name="contentType" value="text/html; charset=UTF-8" />
</beans:bean>
在thymleaf或spring中设置渲染页面的编码时,我是否缺少一些东西
我尝试过过滤器,但这些过滤器只针对传入的数据,并阅读了许多帖子,但无法找到解决方案
谢谢。ah ben tbnk。我刚刚将javascript外部化到一个单独的文件中,并将其包含在通过thymeleaf传递的html文件中,这就解决了问题
哎哟,这么简单的解决方案浪费了很多时间。希望这能帮助其他可能遇到此问题的人。我创建了一个没有thymeleaf的test spring mvc应用程序,以查看我是否会有相同的编码问题,而我没有。thymeleaf似乎在javascript代码中以某种方式是html编码html属性。继续调查这个问题。