2017-09-04 59 views
1

我有這個控制器時factoryPIC可以返回空值如何在控制器返回空結果時在jsp中顯示空值?

@RequestMapping(value = "/PLR/AjaxGetPIC", method = {RequestMethod.GET,RequestMethod.POST}) 
public @ResponseBody V_PIC_TRIAL_PMFK ajaxGetPIC(HttpServletRequest request,RedirectAttributes ra, Model model) { 

    String docNo = request.getParameter("npdrDocument"); 
    Gson gson = new Gson(); 
    List<V_SRF> vsrf = plrAdapter.getV_SRFDocNo(docNo); 
    String docSRF = vsrf.get(0).getPlantCode(); 

    V_PIC_TRIAL_PMFK factoryPIC = plrAdapter.getPICByPlantCode(docSRF); 
    System.out.println("factoryPIC" +new Gson().toJson(factoryPIC)); 
    model.addAttribute("factoryPIC", factoryPIC); 
    System.out.println("vsrf" +new Gson().toJson(vsrf)); 
    String json = gson.toJson(vsrf); 
    return factoryPIC; 
} 

這是腳本我有

function factoryPIC(){ 
$.ajax(
{   
    type: 'POST', 
    url: "/MOA2/PLR/AjaxGetPIC/?&npdrDocument="+$("#npdrDocument").val(), 
    dataType: 'json', 
    success: function (result) { 
     if(result == "" || result == null || result == " "){ 
      $("#factoryPIC").val("---"); 
      $("#factoryPICName").val("---"); 
      $("#fLabelName").html("---"); 
     }else{ 
      $("#factoryPIC").val(result.username); 
      $("#factoryPICName").val(result.name); 
      $("#fLabelName").html(result.name); 
     } 
    } 
}); 

}

如何驗證,如果返回結果我從拿到控制器爲空,並在jsp中顯示字符串「---」?

回答

0

你可以試試:

function factoryPIC(){ 
$.ajax(
{   
    type: 'POST', 
    url: "/MOA2/PLR/AjaxGetPIC/?&npdrDocument="+$("#npdrDocument").val(), 
    dataType: 'json', 
    success: function (result) { 
     if(!result){ 
      $("#factoryPIC").val("---"); 
      $("#factoryPICName").val("---"); 
      $("#fLabelName").html("---"); 
     }else{ 
      $("#factoryPIC").val(result.username); 
      $("#factoryPICName").val(result.name); 
      $("#fLabelName").html(result.name); 
     } 
    } 
}); 

你並不需要檢查多個條件result,你可以檢查上述條件。

如果你想檢查空字符串或長度,那麼你需要在if中添加額外的1子句。

如果您使用的是jQuery,那麼即使您可以使用trim函數來檢查空的json響應。或者你可以使用javascript的本地length函數來檢查JSON響應是否爲空。