java - ModelMap 是空的吗?

标签 java spring

我有一个代码:

public class testCustomer {

    private ModelMap customer;
    }

以及上述类的 getter/setter。

我有两种方法:

@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;
    }

如果 testCustomer 为空,如何检查 @ResourceMapping ?因为现在我有 NullPointer Exception 我的代码有什么问题?

最佳答案

在java中,null与“为空”不同。对 null 调用任何方法都会导致 NullPointerException。在调用 isEmpty() 之前,您必须显式测试 null

将代码更改为:

if (testCustomer.getCustomer() == null || testCustomer.getCustomer().isEmpty())

关于java - ModelMap 是空的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380155/

相关文章:

java - 与 Spring Security 的 Cors

java - 在 tomcat v 8.5 上部署 spring boot 应用程序失败

java - Gradle构建在 list 中声明了一个新的Activity,但没有名称,从而产生了一个错误

Java - 子集和的递归解决方案

java - 在不受 Spring 管理的类中使用 KafkaListener

java - Spring 3 MVC - 没有 Controller 的 JSP 页面的 View 解析器

java - 在没有NotificationPublisherAware的情况下使用Spring发布JMX通知

java - 椭圆与圆

java - 错误: Package p1 does not exist while compiling java file from package p2

Java Servlet - 在包含的 servlet 中设置或更改 cookie