Новичок весной MVC - PullRequest
0 голосов
/ 29 мая 2018

Я сделал страницу регистрации, используя JSP и Spring MVC.Но я хочу отобразить эту страницу, когда я запускаю приложение без указания метода, действия, имени_команды ... Моя страница выглядит так:

<body>
<h2>Message is: ${message}</h2>
<form:form>
        <div class="table-responsive">
          <table class="table table-bordered" style="width: 300px">
            <tr>
              <td>Id :</td>
              <td><form:input type="text" path="id" /></td>
            </tr>
            <tr>
              <td>Name :</td>
              <td><form:input type="text" path="name" /></td>
            </tr>
            <tr>
              <td>Age :</td>
              <td><form:input type="text" path="age" /></td>
            </tr>
            <tr>
              <td>Department :</td>
              <td><form:input type="text" path="dept" /></td>
            </tr>
            <tr>
              <td></td>
              <td><input class="btn btn-primary btn-sm" type="submit" value="Submit" /></td>
            </tr>
          </table>
        </div>
    </form:form> 
</body>

Но он не отображается, он дает исключение, например:

java.lang.IllegalStateException: Ни BindingResult, ни простой целевой объект для имени бина 'команда 'доступна в качестве атрибута запроса

Пожалуйста, помогите мне с этим ....

Заранее спасибо

1 Ответ

0 голосов
/ 29 мая 2018

Вы должны добавить класс PageController, который будет вызывать ваш файл page.jsp.

@Controller
    public class PageController {

        @RequestMapping(value ="/")
        public ModelAndView index() {
            ModelAndView mv = new ModelAndView("page");
            mv.addObject("message", "Hello world");
            return mv;
        }

    }

Вам также понадобится файл web.xml для DispatcherServlet, который будет вашим фронт-контроллером

<web-app id = "WebApp_ID" version = "2.4"
   xmlns = "http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee 
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   <display-name>Spring MVC Application</display-name>

   <servlet>
      <servlet-name>HelloWeb</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>*.jsp</url-pattern>
   </servlet-mapping>

</web-app>

Вам также понадобится файл HelloWeb-servlet.xml для сопоставления

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:context = "http://www.springframework.org/schema/context"
   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-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:component-scan base-package = "your package name which has page controller class" />

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

</beans>

Приложение - вы можете обратиться https://www.tutorialspoint.com/spring/spring_web_mvc_framework.htm для более подробной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...