关于beetl渲染字符串“&currencyCode”乱码的问题!

关于beetl渲染字符串“&currencyCode”乱码的问题!

不再见 发布于 2021-11-30 字数 642 浏览 801 回复 5

@闲.大赋 你好,想跟你请教个问题:

在使用jfinal+beetl过程中,controller中:

Record record = new Record();

record.set("url", "/router?m=cfr.find&v=1.0&currencyCode=USD");

setAttr("rec", record);

beetl模板

<textarea rows="4" style="width:410px;">${rec.url}</textarea>

页面显示结果如下:

/router?&m=cfr.find&v=1.0¤cyCode=USD  (v=1.0后面变成了乱码)。把currencyCode改成其它任意值都不是乱码,请问一下,&curren在beetl里是不是关键字?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

柠檬 2021-12-01 5 楼

URL参数中不支持小数点,小数点被认为是分隔符,所以你可以将它转换成无小数点的数,或小数用下划线替换。。。

坚持沉默 2021-12-01 4 楼

@闲.大赋 能给个解决方案不?

我加了

record.set("url", URLEncoder.encode("/router?m=cfr.find&v=1.0&currencyCode=USD"));

结果页面上变成

/router%3Fm=cfr.find%26v=1.0%26currencyCode=USD

这样了!

情场扛把子 2021-12-01 3 楼

&curr 估计是html 特殊符号,这个跟beetl没有关系,比如你要输出&lt; 估计他就变成< 符号了

蓝颜夕 2021-12-01 2 楼

奇了怪了,标题上明明输入的是”&currencyCode",结果发表完就变成乱码了。怎么个情况?

发表时的截图:

发表完的截图:

狠疯拽 2021-11-30 1 楼

已解决,是因为&curren是html关键字,beetl没有对数据的html解析,已参考:http://my.oschina.net/smile622/blog/300137 解决问题