Soy nuevo en el Spring Framework y he creado un controlador con el métodode forma mapeo primavera al controlador
@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";
}
Este método fetch se llama para recuperar los datos de contacto cuando el usuario hace clic en el enlace en un JSP
<td><a href="fetch/${contact.id}" class="edit">Edit</a></td>
a continuación, devuelve con éxito el objeto de contacto y muestra en la pantalla para el usuario para cambiar y guardar. La etiqueta del formulario de mi JSP es así
<form:form method="post" action="add.html" commandName="contact"
id="contact" onsubmit="return validateContact(this)">
Ahora el problema es cuando intento enviar la página a otro método en el mismo controlador de la URL cambia a
/miaplicacion/app/contactos/FETCH/add.html
mientras que debería ser
/myapp/app/contacts/add.html
Sé que hay algo que no estoy haciendo correctamente, pero qué es exactamente lo que no puedo descifrar. Apreciar si alguno de ustedes me podría ayudar a resolver el problema
Gracias AA
¿por qué se recomienda eso? – NimChimpsky
@NimChimpsky c: url tiene alguna reescritura de url interna, por ejemplo, para la clave de sion (si las cookies no están enalbed/supported). Pero también algunas otras librerías piratean esta reescritura (creo que el tomcat CSRF-Filter también lo usa). Otra razón es que ha incluido la codificación url para las propiedades. – Ralph
Tomcats: Descripción del filtro CSRF: http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CSRF_Prevention_Filter – Ralph