Warum welcome-file-list funktioniert nicht wenn ich die abnehme, struts2 .Aktion-Erweiterung?
Ich habe ein problem, wenn ich entfernen Sie die .action
Erweiterung in meinem Struts2 Anwendung. Ich habe dies in meinem struts.xml
:
<constant
name="struts.action.extension"
value="" />
Die Anwendung ordnungsgemäß funktioniert, außer der index-Seite. Ich habe in meinem web.xml
dies:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Wenn ich Zugang zu http://localhost/myApp/
, bekomme ich die folgende Fehlermeldung:
There is no Action mapped for namespace [/] and
action name [index.jsp] associated with context path [/myApp].
- [unknown location]
Allerdings, wenn ich Zugang zu http://localhost/myApp/fooAction
ich bekomme keine Fehler und funktioniert perfekt.
Wenn ich die Erweiterung für eine nicht leere extension (wie "html"
), sehe ich die index-Seite perfekt wenn ich Zugang zu http://localhost/myApp/
.
So, dann ist da etwas falsch an dem, was ich mache? Warum bin ich immer diese Fehlermeldung wenn ich die Erweiterung entfernen? Ist es posible Weg, es vielleicht nicht zu bekommen?
Edit: Wenn ich eine Aktion in der <welcome-page>
den Fehler ist folgende:
There is no Action mapped for namespace [/] and action name []
associated with context path [/myApp].
- versuchen
<welcome-file>index</welcome-file>
- Ich glaube, S2 filter ist, behandeln Sie es als eine Aktion.Ich erinnere mich, ich hatte dasselbe Problem, wo ich will die
<welcome-file>
als meine Aktion und ich entfernt die Dateiendung wie.jsp
aus der Liste und erstellt eine leere Datei nameindex
- Ich bewies mit einer Aktion in der
<welcome-file>
bevor ich diesen hier da ich aber hier gelesen, dass ich das nicht direkt (stackoverflow.com/questions/39399/...) ich nicht hier. Ich bin immer ein anderer Fehler, ich werde es in der Frage. - ist das, was Sie alle tun müssen ,1) erstellen Sie eine leere Datei nämlich
index
in Ihrem web-app, als Sie brauchen, um zu definieren ein mapping in Ihrem Streben Datei wie<action name="index" class="welcomeAction"></action>
Hoffe ich bin deutlich genug.Ein weiterer Punkt für die Umsetzung Bemerkung bitte markieren person name der anderen person erhalten keine Benachrichtigung über deinen Kommentar - Sorry, ich habe immer vergessen Sie es. Stellen, dass als Antwort und ich werde markieren Sie es, vielen Dank!
- Ich will einfach nur neugierig war der Vorschlag hilfreich, um einige erweitern :)?
- Nein, ich habe nicht genug wissen für das handeln erstreckt hehe =P
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte dasselbe Problem in einer Anwendung, wo muss ich anrufen eine Aktion die beim laden der Seite an Stelle von
index.jsp
oderwelcom.jsp
im<welcome-page>
.Ich habe die folgenden SchritteGelegt, den folgenden Eintrag in meinem web.xml.
Ich erstellt eine leere Datei mit dem Namen
index
in meiner web-app-Ordner, und schließlich platziert Sie den folgenden Eintrag in meinem struts.xml DateiSo, in diesem Fall, wenn ich traf diese URL
www.myapp.com/myApp
,seine Berufung index-Aktion des Struts2 und ich war in der Lage, alles zu tun, init Arbeit für meine willkommen-Seite.Hatte ich gleiche Problem, aber gelöst!!!!
Wenn u verwenden
in struts.xml
dann legte begrüßen Datei als
in web.xml
und geben Sie der Aktion in struts.xml wie folgt