springmvc动态过滤json
1. springmvc返回json数据 如何在filter中获取的返回参数
filter在你调用/noaccess接口之前执行了,当然没有retMsg了
2. springMVC,json视图,返回的json数据有null值,怎么过滤成空串
自己构建ObjectMapper注入进去,在ObjectMapper中设置NOT_NULL不转换内
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
容 <property name="" value="true" />
<property name="objectMapper">
<bean class="org.codehaus.jackson.map.ObjectMapper">
<property name="serializationInclusion">
<value type="org.codehaus.jackson.map.annotate.JsonSerialize$Inclusion">NON_NULL</value>
</property>
</bean>
</property>
</bean>
3. springmvc能不能在跳转页面的同时携带json数据或者list
可以啊,我写一下。
/**
*
*开发公司:SOJSON在线工具
*版权所有:©www.sojson.com
*博客地址:http://www.sojson.com/blog/
*<p>
*
*方法用来传递和跳转
*
*<p>
*
*区分责任人日期说明<br/>
*创建周柏成2017年4月25日<br/>
*
*@authorzhou-cheng
*@[email protected]
*@version1.0,2017年4月25日<br/>
*
*/
@RequestMapping(value="test",method=RequestMethod.GET)
publicStringtest(ModelMapmodel){
List<String>list=newArrayList<String>();
list.add("参数1");
list.add("参数2");
model.put("list",list);//传递list
Map<String,Object>map=newHashMap<String,Object>();
map.put("JSON在线工具","http://www.sojson.com");
//map转json
JSONObjectjson=JSONObject.fromObject(map);
model.put("json",json);//传递json
return"返回的页面";
}
4. spring mvc中的拦截器,怎样获取reqeust中的json数据
public String getStrResponse(HttpServletRequest request) {
InputStream inputStream;
String strResponse = "";
try {
inputStream = request.getInputStream();
String strMessage = "";
BufferedReader reader;
reader = new BufferedReader(new InputStreamReader(inputStream, "utf-8"));
while ((strMessage = reader.readLine()) != null) {
strResponse += strMessage;
}
reader.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return strResponse;
}
5. SpringMvc使用json失败,求助
该注解使复用在 类名制,接口头上
@JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性
例
@JsonIgnoreProperties(value={"comid"})
public interface CompanyFilter{
}
@JsonIgnoreProperties(value={"comid"})
public class CompanyFilter{
}
该注解使用在get方法头上
@JsonIgnore
例
@JsonIgnore
public Integer getPageSize(){
return Integer.valueOf(getRows()==null?"0":getRows().toString());
}
6. 求助,spring mvc 拦截器如何获取 controller 返回的json结果
也许可以这样,你需要返回一个json,这个json由一个对象呗@ResponseBody自动序列生成,然后,你试着将这个版对象保权存进model里面,mv.setObject("xx",xx);然后在拦截器中拦截未返回的的那个方法中model里面的对象做处理,对象是引用,这里改了,如果@ResponseBody的返回处理还为发生,即可改变返回数据,至于取得,也可以将对象手动序列(找个api就行)!
7. springmvc返回json内容限制
该注解使用在 类名,接口头上
@JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性
例
@JsonIgnoreProperties(value={"comid"})
public interface CompanyFilter{
}
@JsonIgnoreProperties(value={"comid"})
public class CompanyFilter{
}
该注解使内用在get方法容头上
@JsonIgnore
例
@JsonIgnore
public Integer getPageSize(){
return Integer.valueOf(getRows()==null?"0":getRows().toString());
}
8. 如何让spring mvc controller的同一个方法,根据逻辑判断返回json或者html视图
packagecom.defonds.oauth.user.mvc;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.commons.logging.Log;
importorg.apache.commons.logging.LogFactory;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestParam;
importorg.springframework.web.servlet.ModelAndView;
importcom.defonds.oauth.GlobalConstant;
importcom.defonds.oauth.common.exception.UserOAuthException;
importcom.defonds.oauth.common.util.JsonView;
importcom.defonds.oauth.user.response.UserResponse;
importcom.defonds.oauth.user.service.UserService;
@Controller
publicclassUserController{
privatestaticfinalLoglog=LogFactory.getLog(UserController.class);
privateUserServiceuserService;
/**
*用户注册接口(浏览器终端、手机终端共同走此接口)
*判断依据:浏览器接口传递过来一hidden变量browser,其值为true;否则判定为其他终端
*@paramusername用户名【必须】
*@parampassword密码【必须】
*@paramemail邮箱地址【必须】
*@parambrowser浏览器【可选】,值为true者为浏览器
*@returnModelAndView:浏览器终端返回jsp页面;其他终端返回JSON串
*备注:Spring注解绑定时@RequestParam("email")Stringemail,@RequestParam的required参数默认为true
*如果手机终端用户HTTP请求没有email参数,将产生异常
*所以将email等传入参数是否包含的验证交由服务器处理,为空返回相应异常的JSON串
*/
@RequestMapping("/user/register")
publicModelAndViewdoRegister(HttpServletResponseresponse,
@RequestParam(value="username",required=false)Stringusername,
@RequestParam(value="password",required=false)Stringpassword,
@RequestParam(value="email",required=false)Stringemail,
@RequestParam(value="browser",required=false)Stringbrowser){
if(browser!=null&&browser.equals("true")){//有值且为true,是浏览器终端发起的请求
try{
userService.addOauthUser(username,password,email);//处理注册相关业务逻辑
returnnewModelAndView("user/registerSuccess");//返回到注册成功页面
}catch(UserOAuthExceptionuoae){//自定义业务逻辑异常
log.debug(uoae.getMessage());
ModelAndViewmav=newModelAndView("user/registerFailed");
mav.addObject("userOAuthException",uoae);
returnmav;//返回注册失败页面
}catch(Exceptione){//系统异常
log.error(e.getMessage(),e);
=newUserOAuthException(
UserOAuthException.ERROR_11001,
UserOAuthException.ERROR_CODE_11001,
UserOAuthException.ERROR_DESC_11001,
e.getMessage());
ModelAndViewmav=newModelAndView("user/registerFailed");
mav.addObject("userOAuthException",userOAuthException);
returnmav;//返回注册失败页面
}
}else{//无值或不为true,是浏览器之外的终端发起的请求
try{
userService.addOauthUser(username,password,email);//处理注册相关业务逻辑
returnJsonView.Render(newUserResponse(
GlobalConstant.SUCCESS_CODE_11000,
username,
email),response);//其他终端,返回注册成功的JSON串
}catch(UserOAuthExceptionuoae){//自定义业务逻辑异常
log.debug(uoae.getMessage());
returnJsonView.Render(uoae,response);//其他终端,返回注册失败的JSON串
}catch(Exceptione){//系统异常
log.error(e.getMessage(),e);
returnJsonView.Render(newUserOAuthException(
UserOAuthException.ERROR_11001,
UserOAuthException.ERROR_CODE_11001,
UserOAuthException.ERROR_DESC_11001,
e.getMessage()),response);
}
}
}
(){
returnuserService;
}
publicvoidsetUserService(UserServiceuserService){
this.userService=userService;
}
}
9. 求助,spring mvc 拦截器如何获取 controller 返回的json结果
求助,spring mvc 拦截器如何获取 controller 返回的json结果
那你必须提供一个类来定义前台与后台版信息交互的格式 不能再权使用springmvc提供的默认类 这需要在配置文件中显示指定
10. springmvc requestbody转json 怎么过滤掉不需要要的属性
不明白你的意思
是对象要转换成json吗
要么拼接,要么工具转换