Ниже приведены мои координаторы, веб-страницы xml и jsp, которые используют весеннюю форму.Корень контекста не приходит при отправке формы Spring - проблемы с шаблоном url
Контроллер
@Controller
@RequestMapping(value = {"/*", "/login"})
public class HelloWorldController {
@RequestMapping(method = RequestMethod.GET)
public String helloWorld(final Model model) {
model.addAttribute("bodyPage", "body.jsp");
User user = new User();
Address address = new Address();
user.setAddress(address);
model.addAttribute("myUser", user);
System.out.println("hello world");
return "login";
}
@RequestMapping(value = "/submitDetails", method = RequestMethod.POST)
public ModelAndView submitDetais(final Object command) {
System.out.println("inside submitDetais ");
User user = (User) command;
return new ModelAndView("result", "user", user);
}
}
Web Xml
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Jsp Page
<form:form commandName="myUser" modelAttribute="myUser" method="POST" action="submitDetails.htm" >
<table>
<tr>
<td>First Name:</td>
<td><form:input path="firstName" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><form:input path="lastName" /></td>
</tr>
<tr>
<td>Address 1:</td>
<td><form:input path="address.address1" /></td>
</tr>
<tr>
<td>Address 2:</td>
<td><form:input path="address.address2" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Save Changes" /></td>
</tr>
</table>
</form:form>
Dispathcher сервлет имеет только просматривать распознаватель. Теперь в соответствии с рисунком URL-адресов на уровне класса, определенного в если регулятора, перейдите по следующей ссылке http://localhost:9080/ExampleSpring или http://localhost:9080/ExampleSpring/
Controll собирается на мою страницу JSP и просить детали. После ввода данных, если я отправлю форму с помощью действия формы, как action = "submitDetails.htm" как указано в действии, его ошибка 404. И адрес в адресной строке поступает как localhost: 9080/submitDetails.htm , которому не хватает корня контекста для проекта. Мой вопрос заключается в том, что я делаю неправильно в разделе запроса URL-адреса?
Согласно моему пониманию
1.the формы представлена с использованием поста, который Мэйтсом шаблон 2. /submitDetails.htm является соответствием шаблона/* в отображении шаблона URL уровня класса, так что запрос должен ввести контроллер, 3. и, наконец, сопоставление уровня метода в методе контроллера имеет тот же метод запроса url-шаблона amd, что и действие amd methood в jsp, поэтому он должен ввести метод контроллеров и распечатать в консоли --- который не является happeing.
Может ли кто-нибудь помочь мне разобраться в этом?
Я даже пытался с помощью @RequestMapping (value = "/submitDetails.htm", method = RequestMethod.POST) .. все еще 404 eror. – Sambuddha
try @RequestMapping (value = "/ submitDetails", method = RequestMethod.POST) и –
Вы можете попробовать/ url-pattern> без * после/ –