首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
renderXml怎么用
丹丹丹
2018-04-10 10:13
我最近需要完成的接口最后是返回一个xml格式的串,我用dom生成了一个xml,最后放进renderXml里面,可是访问后返回的结果是这样的。
源码以及生成xml文件还有浏览器的返回结果请大家看一下
项目:
JFinal
评论区
丹丹丹
2018-04-10 10:18
不知道在这提问有问题吗,知道的前辈帮忙回复一下呗。
回复
JFinal
2018-04-10 11:02
将 xml 当成 html 页面去使用,最后这样:
renderXml("xmlFileName.xml")
这个 "xmlFileName.xml" 中的内容就是你要拼接的 XML ,不要使用 dom 生成 XML 太低效太麻烦了
回复
JFinal
2018-04-10 11:04
renderXml 是用 jfinal 的 enjoy 生成内容,所有的 enjoy 功能都可以用上,例如:
《xml》
#for ( x : bookList)
《book》
《name = #(x.name) /》
《/book》
《/xml》
具体参考这里:http://www.jfinal.com/doc/6-1
回复
lyh061619
2018-04-10 11:06
@丹丹丹
这个提示,是浏览器行为,建议你看下这里https://blog.csdn.net/sunwl_csdn/article/details/59546039,然后自己履行下xmlRender:
回复
丹丹丹
2018-04-10 11:31
@JFinal
这个问题解决了,还有个问题,我们的接口是原来的代码抽出来放在jfinal的框架里,别的系统会调用这些接口,现在希望调用地址不改变,http://10.180.27.112/centersrv/normalization/name.do?可是这样的地址后面带.do的我怎么配路由那儿就不行,根本进不去方法。
回复
JFinal
2018-04-10 11:45
@丹丹丹
加一个 handler,去于后缀为 .do 的请求放行一下:
if (target.endsWith(".do") {
return ;
} else {
next.handle(...);
}
最后配置一下: me.add(new MyHandler(...));
参考一下 com.jfinal.ext.handler 包下面的几个已有的 Handler 去写
回复
丹丹丹
2018-04-10 13:35
@JFinal
import com.jfinal.handler.Handler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyHandler extends Handler {
@Override
public void handle(String target, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, boolean[] booleans) {
if(target.endsWith(".do")){
return;
}else{
this.next.handle(target, httpServletRequest, httpServletResponse, booleans);
}
}
}
我这样写的,不对,请问哪里有问题?
回复
丹丹丹
2018-04-10 14:04
@JFinal
解决了,非常感谢!
回复
发送
我要反馈
热门反馈
扫码入社