2017-09-04 61 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响应是否为空。