0

私はコードをもっている:

public class testCustomer {

    private ModelMap customer;
    }

そして、上記のクラスのゲッター/セッター。

そして私には2つの方法があります:

@ActionMapping(params = "action=search")
    public void searchAction(
            ActionRequest request,
            ActionResponse response) {

            ModelMap modelMap = new ModelMap();
            modelMap.put("rowsPerPage", 10);
            modelMap.put("page", 1);
            modelMap.put("total", 100);

            testCustomer.setCustomer(modelMap);
    }


@ResourceMapping(value="customer")
    public ModelAndView listCustomer(
            ResourceRequest req,
            ResourceResponse res) {


        ModelAndView mav = new ModelAndView();
        MappingJacksonJsonView v = new MappingJacksonJsonView();

        mav.setView(v);
        if(testCustomer.getCustomer().isEmpty()){
            log.debug("List Customer Resource: " + "NULL");
            mav.addObject("data", null);
        } else {
            log.debug("List Customer Resource: " + testCustomer.getCustomer());         
            mav.addObject("dataListCustomer", testCustomer.getCustomer());
        }
        return mav;
    }

@ResourceMappingtestCustomerが空かどうかをチェックインするにはどうすればよいですか?今私はNullPointer Exeption 私のコードに何が問題なのですか?

4

1 に答える 1

1

Javaでは、null「空になる」とは異なります。で任意のメソッドを呼び出すと、nullになりNullPointerExceptionます。nullを呼び出す前に、明示的にテストする必要がありisEmpty()ます。

コードを次のように変更します。

if (testCustomer.getCustomer() == null || testCustomer.getCustomer().isEmpty())
于 2012-11-14T13:58:01.210 に答える