J'essaie de mettre à jour une application web simple qui a été construite avec struts2, jsp et les servlets standard. J'essaie de rediriger une URL vers une action spécifique mais je n'arrive pas à la faire fonctionner correctement. Par exemple, l'URL est correcte est:Problème avec les actions et les redirections Struts
http://localhost:8080/theapp/lookup/search.action
Voici mon web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
<display-name>theapp</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Et voici mon struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration
2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<default-action-ref name="search" />
<action name="search" method="search" class="com.theapp.SearchAction" >
<result>index.jsp</result>
<result name="input" >index.jsp</result>
<result name="error" type="redirect">site_locator_mobile/error.action</result>
</action>
Le problème ici est que si je ne spécifie pas l'URL correcte comme ci-dessus, je viens d'obtenir le fichier index.jsp, mais sans les propriétés de l'indice. jsp en cours de traitement car les informations sont contenues dans la servlet.
Ce que je voudrais est si quelqu'un vient d'entrer:
http://localhost:8080/theapp/lookup/
qu'ils seraient prises pour:
http://localhost:8080/theapp/lookup/search.action
Merci
Hmm .. Je ne sais pas comment réparer le xml dans mon article ci-dessus afin que tout se passe dans le même bloc de code. – Casey