当控制器返回null结果时,如何在jsp中显示空值?

时间:2017-09-04 03:33:25

标签: javascript ajax spring jsp spring-mvc

当factoryPIC可以返回空值时,我有这个控制器

@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中显示字符串“---”?

1 个答案:

答案 0 :(得分: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响应是否为空。