Je développe une application web en utilisant Spring mvc. J'ai une page qui affiche tous les projets dans la base de données. Si je clique sur l'un des projets énumérés, il affichera d'autres détails supplémentaires de ce projet particulier. Ceci est fait en utilisant @PathVariable.Comment modifier une URL demandée au printemps mvc, avant de passer au contrôleur
@RequestMapping(value={"/project/{name}"})
public String viewProject(HttpServletRequest request,@PathVariable("name")
String projectName, ModelMap model){
.......
.......
}
Ci-dessus, mon code de mappage de demande. Mon URL sera http://localhost:8083/releaseDashboard/project/CSOB.html (csob est mon nom de projet et releaseDashboard est mon nom d'application). Jusqu'à ce que mon application fonctionne bien. Lorsque je clique sur le bouton d'accueil de cette page, ma requête est mappée à la méthode de contrôleur ci-dessus et mon URL devient localhost: 8083/releaseDashboard/project/home.html. Mais l'URL attendue est localhost: 8083/releaseDashboard/home.html
Quelqu'un peut-il m'aider s'il vous plaît? J'ai lu que nous pouvons utiliser Interceptor ou filtres pour changer l'URL demandée. Mais je ne pouvais voir aucun extrait de code pour cela.
UPDATE
Web.xml
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
ressort servlet.xml
<context:component-scan base-package="com.suntec.reldashboard.controller" />
<context:component-scan base-package="com.suntec.reldashboard.service" />
<context:component-scan base-package="com.suntec.reldashboard.dao" />
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
Compris ce que vous voulez. Mais pas clair quelle est votre erreur et ce que vous avez fait. Pourquoi le lien a un '.html'? Comme c'est Spring MVC, il doit être 'http: // localhost: 8083/releaseDashboard/project/CSOB'. –
web.xml est configuré comme ça. Ce n'est pas un problème ici.Si je supprime ce HTML de web.xml, mon URL sera la même que celle que vous avez mentionnée dans vos commentaires. – sreehari
S'il vous plaît modifier votre question avec vos fichiers de configuration - web.xml, fichier de configuration de printemps, etc. Comment vous avez configuré le résolveur de vue? –