как перенаправить к определенному методу в контроллере весной MVC, конфигурация на основе xml?

как перенаправить к определенному методу в контроллере весной MVC, конфигурация на основе xml?

Я отправляю данные из JSP и хочу перейти к определенному методу в контроллере.
Я использую конфигурацию на основе XML без MAVEN.

Спасибо

2 ответа

  1. Создайте файл JSP, который будет отображать Person from to our users.
    Файл: / WebContent / WEB-INF/jsp / person.JSP-страница

    <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
    <html>
    <body>
    <form:form method="post" action="addPerson.html">
    
        <table>
        <tr>
            <td><form:label path="firstname">First Name</form:label></td>
            <td><form:input path="firstname" /></td> 
        </tr>
        <tr>
            <td><form:label path="lastname">Last Name</form:label></td>
            <td><form:input path="lastname" /></td>
        </tr>
         <tr>
            <td colspan="2">
                <input type="submit" value="Add Person"/>
            </td>
        </tr>
    </table>  
    
    </form:form>
    </body>
    </html>
    

    Затем необходимо создать класс модели для Person.Ява

        public class Person {
        private String firstname;
        private String lastname;
    
        //.. getter and setter for all above fields.
    }
    

    Создайте PersonController.Ява

     public class PersonController {
    
        @RequestMapping(value = "/addPerson", method = RequestMethod.POST)
        public String addContact(@ModelAttribute("person")
                                Person person, BindingResult result) {
    
            System.out.println("First Name:" + person.getFirstname() + 
                        "Last Name:" + person.getLastname());
    
            return "redirect:person.html";
        }
    }
    

    Для ViewResolver создайте spring-сервлет.XML

     <?xml version="1.0" encoding="UTF-8"?>
    -<beans 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="net.viralpatel.spring3.controller"/>
    
    
    -<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver">
    
    <property value="org.springframework.web.servlet.view.JstlView" name="viewClass"/>
    
    <property value="/WEB-INF/jsp/" name="prefix"/>
    
    <property value=".jsp" name="suffix"/>
    
    </bean>
    
    </beans>
    
  2. Вы можете использовать MultiActionController .
    Допустим, это ваше .JSP-файл:

    <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
    <html>
    <body>
    <form:form method="post" action="/yourapp/addPerson">
    
        <table>
        <tr>
            <td><form:label path="firstname">First Name</form:label></td>
            <td><form:input path="firstname" /></td> 
        </tr>
        <tr>
            <td><form:label path="lastname">Last Name</form:label></td>
            <td><form:input path="lastname" /></td>
        </tr>
         <tr>
            <td colspan="2">
                <input type="submit" value="Add Person"/>
            </td>
        </tr>
    </table>  
    
    </form:form>
    </body>
    </html>
    

    и это ваш класс модели:

    public class Person {
        private String firstname;
        private String lastname;
    
        //.. getter and setter for all above fields.
    }
    

    Ваш контроллер будет выглядеть следующим образом:

    public class PersonController extends MultiActionController{
    
    public ModelAndView addPerson(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //... your code here
    }
    
    public ModelAndView listPerson(HttpServletRequest request, HttpServletResponse response) throws Exception {
    //..your code here
    }
    
    
    }
    

    и ваш .XML-файл будет выглядеть так.

        <?xml version="1.0" encoding="UTF-8"?>
    
        <beans 
             
            
            xsi_schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
            <!-- for mapping controllers -->
            <bean name="/addPerson" class="yourpackage.PersonController" />
            <bean name="/listPerson" class="yourpackage.PersonController" /> 
    
            <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/view/" />
            <property name="suffix" value=".jsp" />
        </bean>
    </beans> 
    

    Вот пример.
    http://www.mkyong.com/spring-mvc/spring-mvc-multiactioncontroller-example/