getter未返回Java列表
我有一个类似乎没有从getter返回列表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>
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;
}
}