jfinal 提供post接口 获取不到参数值

Tank_shu 发布于 2014/07/26 21:53
阅读 7K+
收藏 0
使用jfinal对外提供rest风格的post接口,手机端掉用时,将参数填充到body中,在服务端获取不到参数值,String key = getPara("key"); 这种方式获取可对?
加载中
0
JFinal
JFinal
接收方式是正确的,可能是客户端调用时传参不正确,
JFinal
JFinal
回复 @Allen_Shu : POST 必定是支持的,这个是由java web 规范 的 serlvet 提供支持的,jfinal 是在 servlet 之上做极薄封装。出现这种情况必定是客户端的问题
Tank_shu
Tank_shu
在post提交时 直接把参数跟在URL后面是可以获取的,难道对body形式的不支持?
0
Tank_shu
Tank_shu

引用来自“JFinal”的评论

接收方式是正确的,可能是客户端调用时传参不正确,
使用poster提交时也不对 ,点击【post】进行提交的
欧钟源
欧钟源
回复 @Allen_Shu : 最后是怎么解决的?我也遇到这个问题了。
Tank_shu
Tank_shu
回复 @JFinal : String longitude = getPara("longitude"); Jfinal就是用getPara取的,servlet用request的getParameter方法,这些本身都没有问题。 是从拦截器中过的问题,如果前面放个filter,servlet也是取不到值的
Tank_shu
Tank_shu
回复 @JFinal : 已经测试过了,走纯servlet没问题,但是用拦截器的话就会出现问题(poster工具Parameters模式)
JFinal
JFinal
回复 @Allen_Shu : 贴出详细代码来吧,很可能是手误 ,重点贴出来 servlet 取数据的代码与 jfinal 取数据代码的对比
Tank_shu
Tank_shu
回复 @JFinal : 经测试 纯servlet下,poster是没有问题的,继续排查中
下一页
0
欧钟源
欧钟源

我是Post JSON到JFinal的,同样用getPara()接收不到值。但是在getParameterMap()里面有值

所以最后简单粗暴地解决了

String jsonString=(String) getRequest().getParameterMap().keySet().toArray()[0];

0
JFinal
JFinal

引用来自“欧钟源”的评论

我是Post JSON到JFinal的,同样用getPara()接收不到值。但是在getParameterMap()里面有值

所以最后简单粗暴地解决了

String jsonString=(String) getRequest().getParameterMap().keySet().toArray()[0];

注意看截图里面的 Parameter 这一部分,整个 json 数据当成了 name 后面紧跟了一个等号 "=",而等号后面没有值,所以传值方式不正确
0
欧钟源
欧钟源
这个有解决方案了吗?




0
h
hujunxiang
post获取不到参数....
0
_
_xiaohu

同样post获取不到参数

0
lilei430381
lilei430381

引用来自“欧钟源”的评论

我是Post JSON到JFinal的,同样用getPara()接收不到值。但是在getParameterMap()里面有值

所以最后简单粗暴地解决了

String jsonString=(String) getRequest().getParameterMap().keySet().toArray()[0];

引用来自“JFinal”的评论

注意看截图里面的 Parameter 这一部分,整个 json 数据当成了 name 后面紧跟了一个等号 "=",而等号后面没有值,所以传值方式不正确
波波大哥说的完全正确!我就是遇到这个问题,他看到下面有一个等号,实际上就是你的key就是等号前面这一大堆,value是什么都没有!就这么简单,我就是遇到同样的问题,幸好看到波波大哥提到这个等号!所以我就发现问题所在得以顺利解决,谢谢波波大哥了!永远支持jfinal!!!
返回顶部
顶部