Przenoszę aplikację Struts do Struts 2. Został on opracowany przez Struts 1.2 cztery lata temu.jsp: forward forward do akcji Struts 2
Moje pytanie brzmi:
W moim JSP, jest takie stwierdzenie:
<jsp:forward page="/a.do" />
To działa dobrze w Struts 1, ale nie działa w Struts 2, to powiedz mi HTTP 404 błąd kiedy uzyskiwałem dostęp do tego pliku JSP. Jeśli mam dostęp do http://localhost:8080/shell/a.do
, to działa dobrze.
Zastanawiam się, dlaczego tak się dzieje, ponieważ akcja naprzód nie może zostać przechwycona przez filtr Struts 2? (org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
)
A zatem nie można przesłać dalej do akcji Struts 2?
W moim zgłoszeniu znajduje się wiele przekierowań, jeśli operatory nie mogą działać w Struts 2, czy jedynym rozwiązaniem jest użycie przekierowania zamiast przekierowania?
Właściwie to pytanie jest oparte na mojej analizie, oryginalna praca to strona powitalna witryny. Jeśli użyję jsp:forward
do przodu do a.do, to nie działa. I poszedłem za radą Romana, użyłem result
zamiast do przodu. Tak więc teraz pytanie brzmi, jak skonfigurować domyślną akcję dla całej aplikacji?
Próbowałem <default-action-ref name="a"/>
, ale działa tylko dla niezmapowanych działań, na przykład http://localhost:8080/shell2/(some-unmapped-action).do
, przechodzi do domyślnej akcji. Ale to nie działa, jeśli nie podam wartości ".do"
.
Oczywiście można to zrobić za pomocą przepisywania adresu URL, ale nie chcę używać tego podejścia.
Witam wszystkich, myślę, że to pytanie może być zamknięta, ponieważ tylko wtedy, gdy Dodałem ' INCLUDE FORWARD ' w moim web.xml dla filtra struts2, ten problem można naprawić. FYI. –