Avatar billede trp79 Nybegynder
11. november 2005 - 13:30 Der er 10 kommentarer og
1 løsning

Struts action - vise sti på jsp'en istedet for action path(.do)?

Hejsa
Jeg har en form på en side, når den submittes kaldes en action og ved succes vises "succes"-siden så

<action path="/beregning"
                type="presentation.action.BeregningsAction"
                name="beregningsForm"
                input="/forslag">
                <forward name="success" path="/beregner/result.jsp"/>
</action>

Men urlen viser jo så "../beregning.do", er det muligt at få den til at vise den rigtige sti, altså "..beregner/result.jsp" istedet for?

Ved godt det ikke er meningen med struts, men jeg har lige brug for det...

På forhånd tak, mvh
Torben
Avatar billede arne_v Ekspert
11. november 2005 - 15:02 #1
så skal du bruge redirect og ikke forward

og det er ikke rigtigt Struts
Avatar billede trp79 Nybegynder
11. november 2005 - 18:04 #2
nå, ja så kan jeg jo bare lave en response.sendRedirect(url) fra actionen og så lave en dummy forward i actionen. Det er "struts-grimt" for man forlader mvc'en, men sådan vil kunden gerne lige have det i dette tilfælde...

Smid du bare et svar Arne - tak for hjælpen :)
Avatar billede arne_v Ekspert
11. november 2005 - 18:14 #3
du kan da vel ikke både redirecte og forwarde ??
Avatar billede arne_v Ekspert
11. november 2005 - 18:15 #4
jeg tror at du skal forwarde til noget som redirecter !
Avatar billede arne_v Ekspert
11. november 2005 - 18:15 #5
og et svar
Avatar billede arne_v Ekspert
11. november 2005 - 18:18 #6
lidt googling siger at du kan:

<forward name="success" path="/beregner/result.jsp" redirect="true"/>

jeg har aldrig prøvet det så ....
Avatar billede arne_v Ekspert
14. november 2005 - 18:36 #7
men husk at hvis folk bookmarker URL med JSP og vælger den så
virker den sikkert ikke, fordi action ikke har gemt de data som JSP siden bruger
Avatar billede trp79 Nybegynder
15. november 2005 - 08:30 #8
Godmorgen.
Det virker faktisk med redirect="true", men der post'es istedet for get'es, men der er sikker også noget man kan stille på. Syntes dog det er lidt underligt eftersom der get's når redirect ikke sættes.

Angående 14/11-2005 18:36:16:
Lige i dette tilfælde ligger der ikke noget data i actionen, som der skal bruges, men ja ellers så vil det jo ikke fungere.

Tak for hjælpen Arne, jeg går lige på udkig efter det med at der post's istedet for get'es.
Avatar billede trp79 Nybegynder
15. november 2005 - 08:41 #9
Nå, angående post vs get ved redirect="true", så står der her (Struts in action s.186):
When an ActionForward's redirect property is set to true, the ActionServlet sends the browser an HTTP response that tells the browser to submit a new request to the path. The original request parameters are not retained; the original requestcontext disappears. The new HTTP request contains only the parameters contained in the ActionForward's path property, if any. The URI is encoded before it is sent to the client, and the user's session context is maintained if the path is within the same application. But a redirect always clears the request context.
Avatar billede arne_v Ekspert
15. november 2005 - 09:08 #10
der er nok en grund til at redirect="true" er så sjælden
Avatar billede trp79 Nybegynder
15. november 2005 - 10:00 #11
ja det må det næsten værre - tak for hjælpen arne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester