提交支付请求之后,支付宝返回一个响应,需要将响应的body渲染到ModelAndView,跳转到支付页面,但是打开的网页显示的是body的html,而不是支付页面?
想要的是这个:
但是得到的是这个:
问题分析:
body中的数据其实是一个html的表单,表单中设置了会自动挑战到支付宝的付款页面,但是这里将form识别成了String,而不是html。
可能是高版本的freemarker打开了自动转义,将<转成了<,>转成了>…类似的。
解决方法
解决方法是在ftl文件中首行添加<#ftl output_format=‘HTML’ auto_esc=false>,关闭自动转义功能。
另外,我之前是用html文件写的前端页面,html不支持这一句,然后我改成了ftl文件,格式和html都是一样的。(除了从后台获取数据的格式不一样,还有哪些些不同我也不清楚,前端我不死很懂)