2016-08-11 1 views
0

Я следующий код, какне в состоянии извлечь значение из контроллера для просмотра весной из POJOs

контроллер

@Controller 
public class ProductController { 

    @RequestMapping("/products") 
    public String list(Model model) { 
     Product iphone = new Product("P1233", "iPhone 5s", new BigDecimal(500)); 
     iphone.setDescription("pple iPhone 5s smartphone with 4.00-inch 640x1136 display and 8-megapixel rear camera"); 
     iphone.setCategory("smart phone"); 
     iphone.setManfactuer("Apple"); 
     iphone.setUnitsInStock(1000); 
     model.addAttribute("product", iphone); 
     return "products"; 

    } 

продукт

private String productId; 
    private String name; 
    private BigDecimal unitPrice; 
    private String description; 
    private String manfactuer; 
    private String category; 
    private long unitsInStock; 
    private long uintsInOrder; 
    private boolean discountinued; 
//getter and setter 

теперь, когда я пытаюсь для получения значения в jsp как:

<h3>${product.name}</h3> 
    <p>${product.description}</p> 
    <p>${product.unitPrice}USD</p> 
    <p>Available ${product.unitsInStock} units in stock</p> 

web.xml

<servlet> 
     <servlet-name>dispatcherServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>dispatcherServlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

DispatcherServlet-servlet.xml

<mvc:annotation-driven /> 
    <context:component-scan base-package="com.*" /> 
    <bean 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/view/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

не получаю никакого вывода в браузере, но когда я изменяю отображение на / вместо /продукты и loadOnStartUp - 1 для диспетчерского сервлета, все в порядке , Есть ли способ получить значения без прямого сопоставления с dispatcherServlet, как если бы у меня было больше @controller классов, а затем IDK, как управлять этим?

EDIT

У меня есть два контроллера один является

@RequestMapping("/") 
    public String welcome(Model model) { 
    model.addAttribute("greeting", "Greetings of the day"); 
    model.addAttribute("tagline", "this is the tagline"); 
    return "welcome"; 
} 

работает нормально, и когда я использовать эту конфигурацию не получают выход в браузере, но когда я изменяю

@RequestMapping("/") 
    public String list(Model model) { 
     Product iphone = new Product("P1233", "iPhone 5s", new BigDecimal(500)); 
     iphone.setDescription("pple iPhone 5s smartphone with 4.00-inch 640x1136 display and 8-megapixel rear camera"); 
     iphone.setCategory("smart phone"); 
     iphone.setManfactuer("Apple"); 
     iphone.setUnitsInStock(1000); 
     model.addAttribute("product", iphone); 
     return "products"; 

    } 

давая я выводю, но я хочу использовать @RequestMapping("/products), как это сделать?

ответ

0

У вас настроен ViewResolver?

Например:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix"> 
     <value>/WEB-INF/views/</value> 
    </property> 
    <property name="suffix"> 
     <value>.jsp</value> 
    </property> 
</bean> 
+0

он настроен, но s до не работает –

+0

Страница продуктов 'product.jsp' файл? – Valery

+0

Да, сэр, это и я сделал редактирование, пожалуйста, проверьте –

0

配置 web.xml

<servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:spring/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern>

你 需要 配置 注解 扫描 包 路径, 及 对应 的 视图 解析器

<context:component-scan base-package="com.group.springmvc.controller" /> <mvc:annotation-driven enable-matrix-variables="true"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp" /> </bean>

+2

Пожалуйста, используйте английский язык –

Смежные вопросы