Avatar billede tuidoi Nybegynder
15. juni 2009 - 19:58 Der er 13 kommentarer og
1 løsning

Forward til jsp side med html link?

Hej

Jeg er inde i menuen på min side og herfra vil jeg forwarde videre til en anden side alt efter hvilket link der trykkes på.

jeg kunne selvfølgelig bruge almindelige links hvor jeg bare sender parametrene med ? osv., men jeg kunne godt tænke mig at den sendte den direkte, da dette gør det meget nemmere at administrere mit bruger login. Jeg har læst noget med følgende:

<html:link page="/pages/ForwardAction.jsp">Struts Forward Action</html:link>

Men dette vises ikke som link og giver mig faktisk en fejl i eclipse hvor den siger den ikke kender <html:link ??

på forhånd tak for hjælpen
Avatar billede arne_v Ekspert
15. juni 2009 - 20:58 #1
html:link er et Struts tag - d.v.s. virker kun hvis din Java web app bruger Struts.
Avatar billede arne_v Ekspert
15. juni 2009 - 21:00 #2
Hvad mener du med at sende direkte?
Avatar billede tuidoi Nybegynder
15. juni 2009 - 21:21 #3
Med sende direkte mener jeg som f.eks.:

request.getRequestDispatcher("WEB-INF/secret/administrator/main.jsp").forward(request,response);

kan man lave noget lignende dette med noget der ligner et html link? jeg kan sagtens lave en form i html der sender til en controller også tage handlingen derfra, men hvis man kan omstille med et link direkte som med forward kunne det være smart.
Avatar billede tuidoi Nybegynder
15. juni 2009 - 21:23 #4
Jeg har også nogle problemer med en af mine html forms idet den efter jeg har rykket mine sider ind i WEB-INF ikke kan finde disse. Så tænkte jeg på at lave en controller som den kunne sende til også kunne den stille videre i en fil alt efter hvilken side der var den sidste, men hvordan ser jeg så hvilken side der har stillet videre til controlleren?
Avatar billede arne_v Ekspert
15. juni 2009 - 21:53 #5
Jeg kan ikke se hvordan du skulle kunne lave det ligesom forward.

Forward virker som:

browser requester page1.jsp
page1.jsp forwarder til page2.jsp
browser faar response med page2.jsp

Det du vil er:

browser requester page1.jsp
page1.jsp genererer link til page2.jsp med en eller anden URL
browser faar response
browser requester URL til page2.jsp

Et link giver kun mening hvis der er den browser interaktion i midten.
Avatar billede arne_v Ekspert
15. juni 2009 - 21:54 #6
Hvis du forwarder saa kan du gemme information i request objektet.

Det du forwarder til kan saa hente det ud af request objektet.
Avatar billede tuidoi Nybegynder
15. juni 2009 - 22:04 #7
Det er fordi mine sider ligger i web-inf og der kan brugeren jo ikke komme ind med et almindeligt url link.

Derfor tænkte jeg, at jeg bare kunne forwarde på en eller anden måde. Det er kun index.jsp jeg har som den eneste side brugeren kan tilgå. frontkontroller eller hvad man nu kalder det.
Avatar billede arne_v Ekspert
15. juni 2009 - 22:23 #8
Det kan du vel ogsaa sagtens faa til at virke.

Information sendt til front controlleren er stadig tilgaengelig efter forward.
Avatar billede tuidoi Nybegynder
15. juni 2009 - 23:00 #9
Ja ok, så gør jeg det. :)

Men alle mine forms skal de så også bare kalde denne frontkontroller? også have nogle hidden parameter som fortæller hvor den ønsker at blive stillet hen?
Avatar billede tuidoi Nybegynder
15. juni 2009 - 23:23 #10
Jeg tilføjede denne i web.xml og fjernede alle action fra formene:


    <servlet>
        <servlet-name>Frontkontrol</servlet-name>
        <jsp-file>/kontrol.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
        <servlet-name>Frontkontrol</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

Så nu virker det :)
super bare lig et svar!
Avatar billede tuidoi Nybegynder
15. juni 2009 - 23:54 #11
Når der bliver udfyldt en formular og en hidden input her er:
name="action" value="adduser" så burde den når jeg henter den i request.getParameter("action") være ligmed adduser ikke? men det er den ikke den er istedet loadusers jeg har tjekket formen og den skriver det rigtigt. ?
Avatar billede tuidoi Nybegynder
15. juni 2009 - 23:59 #12
ikke noget.. det er fordi siden hele tiden forwarde, så den beholder det der loaduser som action i headeren. derfor den hele tiden er det samme :S nu skal jeg bare finde ud af at få den væk inden jeg forwarder videre.
Avatar billede arne_v Ekspert
16. juni 2009 - 11:58 #13
Normal vil man lave sin front controller som servlet og ikke som JSP.

Husk at hidden felter kan fakes.

Og svar.
Avatar billede arne_v Ekspert
16. juni 2009 - 11:58 #14
om igen
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