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嗎
要麼拼接,要麼工具轉換