Jestem nowy na Spring Framework i ja stworzyliśmy kontroler metodąWiosna Form mapowanie do kontrolera
@RequestMapping("/fetch/{contactId}")
public String getContact(@PathVariable("contactId") Long contactId,
Map<String, Object> map, HttpServletRequest request,
HttpServletResponse response) {
Contact contact = contactService.get(contactId);
map.put("contact", contact);
return "contact";
}
Ten sposób pobierania nazywa się odzyskać dane kontaktowe, gdy użytkownik kliknie na link na jsp
<td><a href="fetch/${contact.id}" class="edit">Edit</a></td>
Następnie pomyślnie zwraca obiekt kontaktu i wyświetla na ekranie, aby użytkownik mógł zmienić i zapisać. Znacznik forma mojego JSP jest jak ten
<form:form method="post" action="add.html" commandName="contact"
id="contact" onsubmit="return validateContact(this)">
Teraz problem jest gdy próbuję przesłać stronę do innej metody w tym samym kontrolerze zmiany adresu URL do
/myapp/app/Kontakt/pobrania/add.html
podczas gdy powinno być
/myapp/app/contacts/add.html
Wiem, że jest coś, czego nie robię poprawnie, ale czego dokładnie nie jestem w stanie wymyślić. Wdzięczni, jeśli ktoś z was może mi pomóc rozwiązać ten problem
Dzięki AA
Dlaczego to jest polecane? – NimChimpsky
@NimChimpsky c: url ma pewne wewnętrzne przepisanie URL-a, na przykład dla klawisza widza (jeśli ciasteczka nie są enalbowane/obsługiwane). Ale niektóre inne biblioteki włamują się do tego przepisywania (myślę, że filtr CSRF tomcat też go używa). Innym powodem jest to, że zawiera kodowanie adresu URL dla właściwości. – Ralph
Tomcats: Filtr CSRF Opis: http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CSRF_Prevention_Filter – Ralph