getter未返回Java列表

getter未返回Java列表,java,list,Java,List,我有一个类似乎没有从getter返回列表 package springmvc.service; import java.math.BigDecimal; import java.util.LinkedList; import java.util.List; import springmvc.model.Brand; import springmvc.model.Car; public class CarManager { private static List<Car>

我有一个类似乎没有从getter返回列表

package springmvc.service;

import java.math.BigDecimal;
import java.util.LinkedList;
import java.util.List;

import springmvc.model.Brand;
import springmvc.model.Car;

public class CarManager {

    private static List<Car> carList;

    static {
        Brand brand1 = new Brand();
        brand1.setId((long) 1);
        brand1.setName("Mercedes");
        brand1.setCountry("Germany");

        Brand brand2 = new Brand();
        brand2.setId((long) 2);
        brand2.setName("Peugeot");
        brand2.setCountry("France");

        Car car1 = new Car();
        car1.setId((long) 1);
        car1.setBrand(brand1);
        car1.setModel("SL 500");
        car1.setPrice(new BigDecimal(40000));

        Car car2 = new Car();
        car2.setId((long) 2);
        car2.setBrand(brand2);
        car2.setModel("607");
        car2.setPrice(new BigDecimal(35000));

        carList = new LinkedList<Car>();
        carList.add(car1);
        carList.add(car2);
    }

    public List<Car> getCarList() {
        return carList;
    }
}
下面是我对spring-servlet.xml的介绍

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    <bean name="/carList.jsp" class="springmvc.web.CarListController"/>
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>

检查servlet容器日志中是否有抛出的异常。在创建
carList

之前,它可能会在静态初始化器中引发异常,“似乎”并不意味着什么

至少您可以打印列表的内容,向我们展示:

public class CarListController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest arg0,
            HttpServletResponse arg1) throws Exception {

        CarManager carManager = new CarManager();
        System.out.println(carManager.getCarList());

        ModelAndView modelAndView = new ModelAndView("carList");
        modelAndView.addObject("carList", carManager.getCarList());

        return modelAndView;
    }
}
如果列表真的为空,那么您可能应该检查静态初始值设定项中的异常

但是我的观点是,你认为列表是空的,而你在视图或浏览器中什么也看不到。在您的视图中迭代列表可能有问题(JSTL使用错误?),因为如果您没有任何运行时异常和/或错误500,这可能意味着列表已初始化


或者,您可能创建并设置了一个新的空列表或该carList属性的null ref,但没有提供代码…

您能显示控制器配置吗?您是否在控制器类中设置了断点以验证是否正在调用它?为什么要在第一个类中设置所有静态?为什么在静态中使用非静态方法?你说的“似乎不返回列表”是什么意思?它的回报是什么<代码>空值?空的
列表
?我在上面添加了我的spring-servlet.xml。在我从中复制的教程中有静态数据。是时候进行一些调试了,看看到底返回了什么。在这一点上你真的不知道,所以现在提出问题还为时过早。
public class CarListController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest arg0,
            HttpServletResponse arg1) throws Exception {

        CarManager carManager = new CarManager();
        System.out.println(carManager.getCarList());

        ModelAndView modelAndView = new ModelAndView("carList");
        modelAndView.addObject("carList", carManager.getCarList());

        return modelAndView;
    }
}