关于支付宝付款页面用ModelAndView渲染问题

在提交支付请求后,遇到支付宝返回的响应被误识别为字符串而非HTML,导致支付页面无法正常渲染。问题源于Freemarker的自动转义设置。解决方法是在FTL文件首行添加`<#ftloutput_format='HTML' auto_esc=false>`来关闭自动转义,从而正确显示支付表单。原先使用HTML文件,转换为FTL文件后解决了问题。
摘要由CSDN通过智能技术生成

提交支付请求之后,支付宝返回一个响应,需要将响应的body渲染到ModelAndView,跳转到支付页面,但是打开的网页显示的是body的html,而不是支付页面?


想要的是这个:
在这里插入图片描述

但是得到的是这个:
在这里插入图片描述

问题分析:
body中的数据其实是一个html的表单,表单中设置了会自动挑战到支付宝的付款页面,但是这里将form识别成了String,而不是html。
可能是高版本的freemarker打开了自动转义,将<转成了<,>转成了>…类似的。

解决方法
解决方法是在ftl文件中首行添加<#ftl output_format=‘HTML’ auto_esc=false>,关闭自动转义功能。

另外,我之前是用html文件写的前端页面,html不支持这一句,然后我改成了ftl文件,格式和html都是一样的。(除了从后台获取数据的格式不一样,还有哪些些不同我也不清楚,前端我不死很懂)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值