This spring example is using xml base config
But it creates object using explict new operator.
public class Brand { private Long id; private String name; private String country;
public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
|
public class Car { private Long id; private Brand brand; private String model; private BigDecimal price;
public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Brand getBrand() { return brand; } public void setBrand(Brand brand) { this.brand = brand; } public String getModel() { return model; } public void setModel(String model) { this.model = model; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } }
|
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; } }
|
public class CarListController implements Controller {
public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
CarManager carManager = new CarManager();
ModelAndView modelAndView = new ModelAndView("carList"); modelAndView.addObject("carList", carManager.getCarList());
return modelAndView; } }
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <body> <h1>Car List</h1>
<c:forEach items="${carList}" var="car"> ${car.brand.name} ${car.model}: ${car.price}<br /> </c:forEach> </body> </html>
|
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean name="/list_cars.html" 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="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean>
</beans>
|
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMvcCar</display-name>
<servlet> <servlet-name>SpringController</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
<servlet-mapping> <servlet-name>SpringController</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
</web-app>
|