[Struts/JavaScript/JSP]Cache probleem(?) uitloggen+backknop*

Pagina: 1
Acties:

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Hallo mensen,

ik weet dat je met javascript: parent.location.frame1.replace(''pagina.jsp") kunt bereiken dat de gebruiker niet meer op BACK kan duwen in de toolbar van internet explorer.

Nou zit ik met een probleem met struts.
Ik heb een inlog scherm (en dus ook een LoginAction). In de LoginAction maak een een bean UserBean aan met property username en die gooi ik in de sessie.

Ik heb een struts action LogoffAction. Deze doet het volgende:

code:
1
2
3
HttpSession session=request.getSession;
session.removeAttribute("ub", UserBean);
session.invalidate();


de UserBean wordt eerst verwijderd, dan pas wordt de sessie ge-invalideerd.

Ik controleer op elke pagina met de logic:notPresent tag of de bean er nog is.

Het probleem:
ik log in op login.jsp, ik ga naar welcome.jsp. Op deze welcome.jsp doe ik dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<logic:notPresent name="uib" scope="session">
    <FONT face="Verdana" size="3"><B><I> ERROR, no user detected!</I></B></FONT> 
    <BR />
     <FONT face="Verdana" size="3">
        U dient eerst in te loggen.        
     </FONT>        
</logic:notPresent>

<logic:present name="uib" scope="session">
    <FONT face="Verdana" size="3"><B><I> Welcome <bean:write name="uib" property="username"/>!
<table cellspacing="0" cellpadding="0" border="0" width="100%">        
      <tr>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>
          <FONT face="Verdana" size="3"><B>Main menu</B></FONT>          
        </td>
      </tr>
        .....
        .....
        hier alle functies wat de gebruiker kan doen, onder andere uitloggen
        ....
        ....
    </table>
</logic:present>


het bovenstaande stukje code doet inhoud genereren aan de hand van of de gebruiker is ingelogd of niet.


Ondanks dit blijf ik het probleem houden dat als ik uitlog (en dus de sessie ge-invalideerd wordt) en ik duw op de back knop, dan laadt ie de ingelogde pagina uit het geheugen en als ik dan op een van de functies klik, moet ie naar de error pagina gaan (omdat de user niet ingelogd is). Maar dit doet ie niet en de bean blijkt wel nog te bestaan dan.

Ik weet dat dit opgelost kan worden als er aan de form action="/logoffaction" een soort replace hangt.
Hij gaat immers naar de "findforward success" pagina. Maar niet middels een replace, zoals je dat in Javascript kunt doen.

Weet iemand hoe ik dit moet doen?

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

offtopic:
In plaats van zo te SCHREEUWEN in je topictitel had je hem beter af kunnen maken voordat je je topic plaatste

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

Het makkelijkste is om alles via 1 bestand te doen: index.jsp bijvoorbeeld, als je dan uitlogt en weer naar index.jsp gaat zul je nooit de gechachede pagina zien. Met losse bestanden zoals jij het hebt wordt het wel een moeilijker verhaal.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
drm schreef op 12 mei 2004 @ 13:38:
offtopic:
In plaats van zo te SCHREEUWEN in je topictitel had je hem beter af kunnen maken voordat je je topic plaatste
jezus, sorry hoor. Ik snap niet wat je met schreeuwen bedoelt. Naar mijn idee was ie af.....maar goed. Zullen wel de regeltjes zijn.

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

Deathchant schreef op 12 mei 2004 @ 13:42:
[...]


jezus, sorry hoor. Ik snap niet wat je met schreeuwen bedoelt. Naar mijn idee was ie af.....maar goed. Zullen wel de regeltjes zijn.
Hij hoeft geen excuses?

  • drecaise
  • Registratie: December 2000
  • Laatst online: 08-05 15:05
ik weet eigenlijk meer van php, maar is het niet mogelijk om headers te sturen? dan kun je namelijk aangeven dat de pagina niet gecached mag worden

pizzaguys get all the pussy


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik snap het gewoon niet goed wat ie bedoelt, ik probeer me altijd aan de regels te houden hier, maar goed, maakt ook niet uit.

Back ontopic.
Het feit is gewoon dat ik op iedere pagina controleer of die bean nog in de sessie zit, maar toch nog steeds alle functies kan gebruiken.

De vraag is: doet internet explorer de gehele sessie cachen? Want als ik op back duw nadat ik uitgelogd bent, haalt ie die gecachete pagina tevoorschijn (waar ik nog wel ingelogd ben). Als ik DAN op een functie klik (een link naar welcome.jsp), moet de welcome.jsp met de logic present tags controleren op die bean.

De vraag is of Internet explorer NA het klikken op een functie ook die welcome.jsp uit de cache haalt? Ik denk het wel, want die link is namelijk eerder geklikt en dus ook in de cache.
drecaise schreef op 12 mei 2004 @ 13:44:
ik weet eigenlijk meer van php, maar is het niet mogelijk om headers te sturen? dan kun je namelijk aangeven dat de pagina niet gecached mag worden
Dat doe ik met meta http equiv headers. Daarnaast zet ik in struts-config.xml ook NO-CACHE aan........het kan toch niet dat ik in elke jsp pagina met response.setheader moet gaan werken.....?

[ Voor 22% gewijzigd door Deathchant op 12-05-2004 13:52 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

Als jij server-side no-caching headers meegeeft mag hij het eigenlijk niet cachen.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
dan zou ik bij elke jsp
code:
1
2
3
<% response.setHeader("Cache-Control","no-cache"); %>
<% response.setHeader("Cache-Control","no-store"); %>
<% response.setHeader("Pragma","No-cache"); %>


moeten meegeven,
bovendien zet ik
code:
1
<controller nocache="true"/>


in de struts-config.xml

[ Voor 34% gewijzigd door Deathchant op 12-05-2004 13:56 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

Deathchant schreef op 12 mei 2004 @ 13:55:
dan zou ik bij elke jsp
code:
1
2
3
<% response.setHeader("Cache-Control","no-cache"); %>
<% response.setHeader("Cache-Control","no-store"); %>
<% response.setHeader("Pragma","No-cache"); %>


moeten meegeven
En een expire datum/tijd.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
André schreef op 12 mei 2004 @ 13:56:
En een expire datum/tijd.
zoiets als <META Http-Equiv="Expires" Content="0">, maar dan in JSP code

en als ik in strut-config.xml de no-cache op true zet, krijg ik de melding: WAARSCHUWING, PAGINA VERLOPEN. Als ik dan op vernieuw druk, krijg ik nog steeds de ingelogde pagina

met de header codes doet ie dat ook..........(die headers moet je toch in je head zetten he of ben ik nou gek? 8)7, klinkt ook logisch om headers in je head te zetten...)

[ Voor 60% gewijzigd door Deathchant op 12-05-2004 14:06 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik werk wel met frames...........dus het kan zijn dat de targets een rol spelen bij het cachen ofzo.

Want als ik inlog, maakt ie geen cache, als ik uitlog wel.
Bij login.jsp heb ik

<html:form action="/LoginAction" target="left" >

de textveldjes staan ook op het left-frame, en de action doet dus weer inhetzelfde target forwarden.

Bij logoff heb ik dit:
<html:form action="/LogoffAction" target="parent" >, want als ik left doe, dan doet ie me alles (de hele frameset) in de left openen.
Met parent komt alles goed te staan, alleen dan die verdome back knop...........

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • momania
  • Registratie: Mei 2000
  • Laatst online: 25-05 12:06

momania

iPhone 30! Bam!

Als je toch met struts bezig bent, zou ik eerst eens van de frames afstappen en overgaan op tiles van Struts zelf. Veel dingen als op elke pagina controleren of een bepaalde bean er nog is is dan ook niet meer nodig, maar dat kan je dan centraal houden.

Ook als je via je back knop op een pagina komt en daar aangegeven wordt dat de pagina verlopen is en je doet dan een refresh en dan komt er wel data, dat kan alleen maar betekenen dat je nog ergens door een action heenwandeld en daar misschien iets niet goed hebt afgevangen.

Neem je whisky mee, is het te weinig... *zucht*


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
het probleem is dat het voor 25 mei af moet zijn en het is een heel groot project waar 3 afstudeerders aanwerken, waaronder ik. We kunnen nu niet weer alles gaan omgooien voor die tijd, maar in iedergeval zal ik je tip meenemen naar de volgende keer.

Als ik in struts-config.xml de redirect="true" zet bij de betreffende actie werkt ie enigszins

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • momania
  • Registratie: Mei 2000
  • Laatst online: 25-05 12:06

momania

iPhone 30! Bam!

Deathchant schreef op 12 mei 2004 @ 13:57:
en als ik in strut-config.xml de no-cache op true zet, krijg ik de melding: WAARSCHUWING, PAGINA VERLOPEN. Als ik dan op vernieuw druk, krijg ik nog steeds de ingelogde pagina
Heb je al gekeken of je bij vernieuwen niet toevallig nog ergens door een Action heen gaat?

Neem je whisky mee, is het te weinig... *zucht*


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik ga niet meer door een action nee.

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
hoi momania

ik krijg inderdaad een nullpointerexception als ik een JSP pagina vernieuw.

Ik heb de action: saveDocument. daarna ga ik naar results.jsp waarin ik zeg:
"User, je hebt file: <hier de file> succesvol opgeslagen."
Als ik deze jsp pagina ik vernieuw, krijg ik een nullpointerexception bij saveDocument op lijn 74. Blijkbaar gaat ie nog eens door die actie heen. Kun jij me uitleggen waarom? Ik vernieuw alleen die jsp pagina.

Als ik op die results.jsp op vorge klik, is het logisch dat hij nog eens die actie doorloopt, maar voor zover ik weet gooi ik niks uit de sessie na het uitvoeren van de actie, dus alle info zouden nog in de beans moeten zitten.

Ik weet echt niet wat het is.

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • momania
  • Registratie: Mei 2000
  • Laatst online: 25-05 12:06

momania

iPhone 30! Bam!

Deathchant schreef op 13 mei 2004 @ 16:16:
Als ik deze jsp pagina ik vernieuw, krijg ik een nullpointerexception bij saveDocument op lijn 74. Blijkbaar gaat ie nog eens door die actie heen. Kun jij me uitleggen waarom? Ik vernieuw alleen die jsp pagina.
Bij het verversen van je pagina wordt de hele request nog een keer uitgevoerd en is het dus net alsof je weer op 'opslaan' oid van de pagina ervoor drukt. En dan zal je waarschijnlijk ondertussen wel wat gegevens missen waardoor je NullPointers krijgt :)

Neem je whisky mee, is het te weinig... *zucht*


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Klopt, hebt helemaal gelijk en weet ook bij welke regels het fout gaat.

Hoe kan ik er dan voor zorgen dat hij niet nog een keer door die action gaat?

offtopic:
wat betekent oid?

[ Voor 13% gewijzigd door Deathchant op 13-05-2004 16:43 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • momania
  • Registratie: Mei 2000
  • Laatst online: 25-05 12:06

momania

iPhone 30! Bam!

Deathchant schreef op 13 mei 2004 @ 16:42:
Klopt, hebt helemaal gelijk en weet ook bij welke regels het fout gaat.

Hoe kan ik er dan voor zorgen dat hij niet nog een keer door die action gaat?
Dat hou je niet tegen, dat is user actie en dat zul je af moeten vangen in je action zelf.
offtopic:
wat betekent oid?
offtopic:
oid = of iets dergelijks ;)

Neem je whisky mee, is het te weinig... *zucht*


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
offtopic:
dankje!


Maar Ik heb geleerd dat NullPointerExceptions behoorlijke kutfouten zijn en dat je het zo moet programmeren dat deze niet eens voor kunnen komen.

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Ik heb een soortgelijk probleem gehad (met PHP danwel). Opgelost door na het opslaan van een bestand (of elke operatie die niet opnieuw mag worden uitgevoerd), een redirect naar de browser te sturen.

De gebruiker kan dan rustig op vernieuwen klikken, maar het verzoek wordt niet opnieuw uitgevoerd.

Misschien ook een idee voor jouw probleem ?

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik heb in de struts action al aangegeven: forward="/results.jsp" redirect="true"

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Deathchant schreef op 13 mei 2004 @ 18:15:
ik heb in de struts action al aangegeven: forward="/results.jsp" redirect="true"
Betekent dat niet alleen dat er "intern" een nieuw request wordt aangemaakt, wat wordt doorgegeven aan results.jsp? Dus bij een reload wordt de action opnieuw uitgevoerd, en het verzoek opnieuw doorgegeven aan results.jsp.

Heb je het probleem ook als je in de action iets doet van: response.sendRedirect("/results.jsp") ?

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
waar zou ik die dan moeten zetten ?

In de action heb je dan
code:
1
return mapping.findForward("success")

om naar de success pagina te gaan, hoe moet dat met sendredirect?

ik geloof dat de redirect="true" in struts automatisch een sendredirect doet

[ Voor 21% gewijzigd door Deathchant op 14-05-2004 09:19 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik heb iets gehoord over een step index, waardoor je de actie maar 1x kunt doorlopen....weet iemand hier iets over?

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Deathchant schreef op 14 mei 2004 @ 08:39:
waar zou ik die dan moeten zetten ?

In de action heb je dan
code:
1
return mapping.findForward("success")

om naar de success pagina te gaan, hoe moet dat met sendredirect?

ik geloof dat de redirect="true" in struts automatisch een sendredirect doet
Ik heb het opgezocht in de Struts docs, en ja dat doet struts inderdaad. Maar de browser voert bij een reload nog steeds het originele verzoek uit, dus weer het formulier posten.

Heb even gezocht en kwam dit linkje tegen. Wordt precies beschreven wat ik bedoel, alleen in veel betere woorden ;)

http://www.theserverside....hread.tss?thread_id=20936

Kort gezegd, na het verwerken van een post formulier, de browser doorsturen naar een pagina welke opgehaald wordt met GET.

Een andere manier zou zijn zijn om de struts form key in het formulier te zetten, en in je action kijken of de key wel geldig is, of het formulier al eerder verwerkt is, en zo ja direct doorsturen. Zie hier: http://www.javaworld.com/...vatips/jw-javatip136.html

Nu ik er zo over nadenk lijkt me dit eigenlijk nog de beste manier :)

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
je slaat de spijker op zijn kop, dit is precies waar ik ook 5 minuten geleden aan dacht.

Ik stuur een hiddenfield per jsp pagina mee waarin een uniek nummer gaat.
De action ontvangt deze en verhoogt deze. De verhoogde waarde wordt in de request gezet en op de volgende JSP in een hiddenfield gezet. und so weiter...............

Dus stel ik geef 1 mee, dan moet ik in de action deze verhogen. Als de gebruiker dan op vorige drukt, krijgt ie weer 1 mee, terwijl de action 2 verwacht.

Maar dan zit je met het volgende. Stel de gebruiker typt met de hand dit nummer in......dan kun je het ook "omzeilen" of niet? Misschien moet ik dit nummer random genereren.

Maar ik vind het wel tof dat je zo'n moeite hebt gedaan 8)

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Geen probleem :)

Het aanmaken van random tokens (moeilijk te raden) is ingebouwd in Struts. In dit mailtje staat een voorbeeld van hoe je die functies gebruikt.

http://www.mail-archive.c....apache.org/msg13679.html (even hele link kopieeren)

Volgens mij moet dat het probleem oplossen.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
bedankt!!

Maar kijk he, stel dit staat op savedocument.jsp en dit is de eerste pagina die ik opstart

code:
1
2
3
4
5
6
7
8
form action="myaction.do" method="post">
 <input type="hidden"
         name="<%= Constants.TOKEN_KEY %>"
         value="<%= session.getAttribute(Action.TRANSACTION_TOKEN_KEY) %>" >
 ...
 other stuff...
 ...
 </form>


waar komt die constants.token_key dan vandaan?
hij haalt bij de value iets uit de sessie. Maar als dat toch de eerste pagina is (en dus nog geen sessie gemaakt is) hoe kan ie dan een goeie waarde in de value geven?

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Hmm, denk dat de enige manier is om daarvoor een action te laten uitvoeren, die de browser doorstuurt naar de jsp. Misschien kan je het regelen in dezelfde action als die het formulier behandelt? Kijken of een formulier is meegegeven, en anders saveToken uitvoeren, en de jsp pagina terugsturen.

Vanuit de jsp kan je volgens mij niet die token in de session krijgen...

Verwijderd

doe die savetoken() in de action, en daar kan je dan controleren met isTokenValid();

en als de isTokenValid() false teruggeeft, stuur je hem naar een pagina.

Volgens mij hoort dat ni thuis in ne JSP, de saveToken regelt dat

[ Voor 19% gewijzigd door Verwijderd op 14-05-2004 23:04 ]


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
die saveToken() is een standaard method in struts of wat?

en waar komen die name en value uit onderstaand stukje vandaan dan ?
<input type="hidden"
name="<%= Constants.TOKEN_KEY %>"
value="<%= session.getAttribute(Action.TRANSACTION_TOKEN_KEY) %>" >

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

saveToken is een functie van de Action klasse. Die andere twee waarden zijn gewoon constanten. Een komt uit de Action klasse, en de andere uit Constants. Die laatste is denk ik ook een Struts klasse.

Hij voegt daar dus een hidden field toe met de unieke id. In de action kan je dan met isTokenValid controleren of de id gelijk is aan die die in de session is opgeslagen.

Suc6

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
mijn dank is groot maar je zit dan nog met een probleem: stel je doet saveDocument.jsp opstarten. Dit is dan de begin pagina. hoe kan dan

value="<%= session.getAttribute(Action.TRANSACTION_TOKEN_KEY) %>" >

uit de sessie gehaald worden? Er bestaat dan toch nog geen sessie

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik heb dus saveDocument als eerste jsp en heb daar deze code instaan

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="org.apache.struts.taglib.html.Constants"%>
<%@ page import="org.apache.struts.Globals"%>
<html>
<head>
<title>Document opslaan</title>
</head>
<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
<BR />
<!-- check if bean is present -->
<logic:notPresent name="uib" scope="session">
    <FONT face="Verdana" size="3"><B><I> ERROR, no user detected!</I></B></FONT> 
    <BR />
     <FONT face="Verdana" size="2">U dient eerst in te loggen.</FONT>
</logic:notPresent>

<!-- check if user is logged in -->
<logic:notEmpty name="uib" property="username" scope="session">    
  <FONT face="Verdana">
    <html:errors />
  </FONT>
<html:form action="/SaveDocument.do" enctype="multipart/form-data">
<font face="Verdana">
  <table cellpadding="3" border="1" width="100%">
    <tr>
      <td background="images/w_tableBGImage.jpg" colspan="2">
<FONT face="Verdana" size="2">
<STRONG>Document opslaan</STRONG></FONT></td>    
    </tr>
    <tr>
      <td><FONT face="Verdana" size="1"><B>De File die u wilt uploaden:</B></FONT></td>
      <td><FONT face="Verdana" size="2">
        <html:file property="fileLocation"></html:file>
      </FONT>
      </td>

    <tr>
      <td align="center" colspan="2"><FONT face="Verdana" size="1">
        <html:submit value="Opslaan"></html:submit>
      </FONT>
      </td>
    </tr>
  </table>
</font>
<html:hidden  
          property="token" 
          name="<%=Constants.TOKEN_KEY%>" 
          value="<%=session.getAttribute(Globals.TRANSACTION_TOKEN_KEY) %>" 
/>
</html:form>
</logic:notEmpty>
</body>
</html>


de Action.TRANSACTION_TOKEN_KEY was deprecated en moest Globals gebruiken.

Ik heb dus zoals je ziet bovenaan 2 classes moeten importen in regel 5 en 6 (is dit juist)?, maar als ik de JSP run, krijg ik een nullpointerexception op regel 46...........

Hoe kun je nou die TRANSACTION_TOKEN_KEY eruit halen als die niet in de sessie bestaat? Hoe moet ik deze in de sessie zetten ?

Ik had het hiddenfield in deze pagina weggehaald (omdat dit de eerste pagina is die op het scherm verschijnt). Maar als ik dit doe, krijgt de isTokenValid bij de eerste keer al FALSE.

Een gebruiker moet naturlijk vaker een document kunnen opslaan. Het gaat zich erom dat, wanneer de gebruiker op refresh duwt en de "pagina is verlopen" scherm ziet en de request opnieuw uitvoert (dmv POST), hij niet alweer door de Action gaat. Want dan ga je een request sturen zonder data en dan krijg je in je Action NullPointerExceptions als je een bean uit de request wilt halen oid.

[ Voor 116% gewijzigd door Deathchant op 17-05-2004 11:13 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Volgens mij kun je saveToken() alleen vanuit een action gebruiken. Je zou de action die het document opslaat kunnen uitbreiden en laten controleren wat de gebruiker wil doen, of het formulier opvragen, of het formulier verwerken. In het eerste geval saveToken aanroepen en doorsturen naar upload.jsp.

Wanneer je de html:form tag gebruikt, voegt struts volgens mij al automatisch de velden voor formkey toe...

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
hoi Selfemployed, bedankt voor al je moeite.

Maar mijn vraag is eigenlijk: hoe sla je een token op in de sessie?

Page 1 -> action 1 -> page 2-> refresh -> action 1 -> page 3

dit is in mijn applicatie:

saveDocument.jsp ->SaveDocument.do (valid token) ->results.jsp ->refresh -> SaveDocument.do (invalid token) -> erros.jsp

zo moet het uitzien.

Maar ik weet niet als savedocument de allereerste JSP pagina is en ik doe in dat hiddenfield die waardes zetten, krijg ik nullpointer. Ik persoonlijk denk omdat ie de token uit de sessie wilt halen die ik er nog helemaal niet in heb gezet..........
Verwijderd schreef op 17 mei 2004 @ 11:55:
Wanneer je de html:form tag gebruikt, voegt struts volgens mij al automatisch de velden voor formkey toe...
dus dat hiddenfield hoeft niet eens?
Dan lukt het wel, maar dan vliegt hij bij de eerste aanroep van die action al naar de error pagina......

[ Voor 26% gewijzigd door Deathchant op 17-05-2004 12:03 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Hier heb je de action die ik heb:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  public ActionForward execute(ActionMapping mapping, 
                               ActionForm form, 
                               HttpServletRequest request, 
                               HttpServletResponse response) throws IOException, ServletException {

     //create error bean for storing error messages
     ErrorBean eb = new ErrorBean();
     
     saveToken(request);
     
     //check if token is valid
     if (isTokenValid(request)) {          
          
          //check if user is still logged in
          if (username!=null) {

              // forward the control to the specified success target
              return mapping.findForward("success");
          }//end user check
          else {        
              // forward the control to the specified failure target
              return (mapping.findForward("failure"));  
          }
     }//end isValidToken
     else {
        System.out.println("Actie al doorlopen");
        // forward the control to the specified failure target
        return (mapping.findForward("failure"));  
     }
 }//end Action

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

De jsp pagina's kunnen niet de saveToken gebruiken. Je moet daarom als eerste "stap" de action het verzoek laten uitvoeren (ook om het formulier aan de gebruiken te tonen). Dan heb je dit probleem niet...

Een alternatief hiervoor vond ik op javaworld: http://www.javaworld.com/...003/jw-0418-struts_p.html

Als de gebruiker moet inloggen (waarschijnlijk in een action geregeld?) direct een token aanmaken met saveToken. Dit wordt dan automatisch aan alle formulieren toegevoegd.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
op mijn savedocument staat een veldje met een browseknop
als ik op submit duw wordt de savedocument action uitgevoert.

dus jij bedoelt dat de <html:form> al automatisch een soort hiddenfield toevoegt.....als dat zo is, wat moet ik als eerste in de savedocumentaction doen?

moet ik eerst saveToken(request) zeggen of eerst

if (isTokenValid) {

}
else {
saveToken(request)
}

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Daar ben je al te laat met het opslaan van de token volgens mij. Voordat het formulier aan de gebruiker getoond wordt, moet er al een token opgeslagen zijn. Een action die wordt uitgevoerd voor het formulier getoond moet worden (b.v. bij het inloggen) moet een token opslaan.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ja klopt, dit heb ik gedaan.

ik kom nu gewoon op results.jsp waarin ik zeg:

hallo Deathchant, u hebt blaat.doc succesvol opgeslagen.

als ik nu op refresh duw, krijg ik toch de nullpointerexception.
Moet ik na het uitvoeren van de actie de token niet veranderen??

Als ik op refresh duw, krijg ik die pagina is verlopen scherm. Hoe krijg ik dat weg?
Vrienden van mij werken hebben ook dezelfde opzet als ik en hun hebben die melding niet.

Ik heb <controller nocache=true> al weggehaald en ook alle setHeaders


Even terugkomend op het verhaal met die tokens. er staat overal dat je resetToken(request) moet doen. Waar moet je die code zetten?
Waar ik em ook zet, er komt altijd false uit.
Als ik hem weglaat, gaat het goed.
Doet reset token de token helemaal weg ?

[ Voor 68% gewijzigd door Deathchant op 17-05-2004 16:25 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Sorry voor de late reactie. Volgens mij zet resetToken een nieuwe token in de session en in de request. Dan mag het formulier dus opnieuw gepost worden.

Ik denk dat je vergeten bent om te controleren met isTokenValid of je het formulier nog moet verwerken?

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
hey geen probleem hoor :)

Ik heb zoals jij zegt in de loginaction als eerste regel de saveToken(); gezet.

het is nu zo:

savedocument.jsp - SHOWACTION -> viewPage.JSP -> SAVEDOCUMENTACTION -> results.jsp

ik wil dat als de gebruiker aankomt bij viewPage.jsp en dan op refresh of back duwt hij NIET de showaction doorloopt.
Ik wil ook niet dat de gebruiker de savedocumentaction kan uitvoeren als hij in results.jsp op refresh of back duwt.

Mijn vraag is eigenlijk: ik heb alleen de saveToken() in de loginaction gezet......waar moet ik de resetToken en saveToken aanroepen, wil ik bovenstaand verhaaltje opgelost hebben?

Ik heb in beide actions dit:

if (isTokenValid(request)){
//voer actie uit
resetToken();
return mapping.findForward("success");
}

else {
System.out.println("SHOWACTION al doorlopen");
saveToken();
return mapping.findForward("failure");
}


maar het resultaat hiervan is dat de gebruiker maar 1x de actions kan uitvoeren............

[ Voor 6% gewijzigd door Deathchant op 18-05-2004 16:47 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Ik zou alleen controleren of je een geldig token hebt in de savedocument action. Als dat zo is, dan kan je een nieuw token in de sessie zetten met resetToken().

Een gebruiker zou dan een bestand kunnen uploaden, maar niet op vernieuwen kunnen klikken.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Verwijderd schreef op 19 mei 2004 @ 07:39:
Ik zou alleen controleren of je een geldig token hebt in de savedocument action. Als dat zo is, dan kan je een nieuw token in de sessie zetten met resetToken().

Een gebruiker zou dan een bestand kunnen uploaden, maar niet op vernieuwen kunnen klikken.
Hoi,

Vroege vogel ben jij :) 7:39.....
Maar goed, dus ik moet in de loginaction gewoon die saveToken() hebben en dan controleren in de savedocumentaction op isValidToken().

Als de gebruiker dan op vernieuwen klik, zegt ie idd dat token niet geldig is. Maar ik kan dan als ik nog een document wil opslaan, kan hij niet meer door de action heen. :( een gebruiker moet wel meerdere keren een document kunnen opslaan.

Het gaat zich mij er gewoon om dat als de gebruiker op vernieuwen klik, dat dan de request opnieuw uitgevoert wordt ZONDER gegevens, zodat NullPointerExceptions optreden.

als die valid is, moet ik met resetToken() een nieuwe erin zetten. Als ik die nieuwe erin zet, en ik doe dan een andere actie, zegt ie al meteen: token niet geldig

[ Voor 23% gewijzigd door Deathchant op 19-05-2004 08:33 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Geloof me, is een uitzondering ;)

Er moet een action zijn die altijd uitgevoerd wordt voor savedocument.jsp, die een nieuw token aanmaakt. Als ik jouw goed begrijp heb je dat op dit moment niet.

Ik denk dat dan de kortste manier is om gewoon een redirect naar de browser te sturen, na het uploaden van een bestand. Ik weet dat we het hier eerder over gehad hebben, maar ....

code:
1
2
3
4
...
upload afhandelen
....
response.sendRedirect(response.encodeURL("/results.jsp"));


Heb je zoiets al geprobeerd?

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik heb het zo:

login.jsp->loginAction->menu.jsp----->savedoc.jsp->showdocAction->showdoc.jsp-savedocAction->results.jsp>

Als je bovenstaande volgorde bekijkt: In de loginAction doe ik saveToken() dus ik heb in deze "eerste" actie al die token gesaved (dat was toch je vraag he?)

in de showdocAction heb ik
if (isTokenValid){
//handel actie af
//wat moet ik hier doen met token??
}

else{
//wat moet ik hier doen met token??
}
Verwijderd schreef op 19 mei 2004 @ 08:45:
code:
1
2
3
4
...
upload afhandelen
....
response.sendRedirect(response.encodeURL("/results.jsp"));


Heb je zoiets al geprobeerd?
dan kan ik niet met de return mapping.findForward werken. In Oracle 10g JDeveloper heb je zo'n mooie struts page flow waarin je alles kunt tekenen. Een redirect kun je niet aangeven hierin.

[ Voor 37% gewijzigd door Deathchant op 19-05-2004 08:56 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

Deathchant schreef op 19 mei 2004 @ 08:55:
ik heb het zo:

login.jsp->loginAction->menu.jsp----->savedoc.jsp->showdocAction->showdoc.jsp-savedocAction->results.jsp>

Als je bovenstaande volgorde bekijkt: In de loginAction doe ik saveToken() dus ik heb in deze "eerste" actie al die token gesaved (dat was toch je vraag he?)
Ja, zodat er een "eerste" token beschikbaar is voor html:form tags e.d..
Deathchant schreef op 19 mei 2004 @ 08:55:
in de showdocAction heb ik
if (isTokenValid){
//handel actie af
//wat moet ik hier doen met token??
}

else{
//wat moet ik hier doen met token??
}
Moet showDocAction ook controleren op dubbele formulieren?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//SaveDocumentAction
if ( isTokenValid ( request ) ) 
{
  // Geldig formulier, bestand opslaan
  ...   
  // Nieuw token aanmaken zodat gebruiker een nieuw bestand kan uploaden
  resetToken ( request ); 
  // Stuur door naar result.jsp
}
else 
{
  // Ongeldig formulier, waarschijnlijk refresh
  
  // In logonAction is token toegevoegd met saveToken, dus hier resetten  
  resetToken ( request );
  // Stuur door naar savedocument.jsp 
}


Zie ook: http://www.mail-archive.c....apache.org/msg23578.html

Volgens mij hebben we hier eindelijk de winnende combi van de token functies ;)

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Verwijderd schreef op 19 mei 2004 @ 09:39:
Moet showDocAction ook controleren op dubbele formulieren?
Nee elke pagina heeft maar één formulier.
Verwijderd schreef op 19 mei 2004 @ 09:39:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//SaveDocumentAction
if ( isTokenValid ( request ) ) 
{
  // Geldig formulier, bestand opslaan
  ...   
  // Nieuw token aanmaken zodat gebruiker een nieuw bestand kan uploaden
  resetToken ( request ); 
  // Stuur door naar result.jsp
}
else 
{
  // Ongeldig formulier, waarschijnlijk refresh
  
  // In logonAction is token toegevoegd met saveToken, dus hier resetten  
  resetToken ( request );
  // Stuur door naar savedocument.jsp 
}
dit bovenstaande had ik dus, maar ik kan daarna geen document meer opslaan. De actie wordt echt maar 1 keer doorlopen.

nu heb ik dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//SaveDocumentAction
if ( isTokenValid ( request ) ) 
{
  // Geldig formulier, bestand opslaan
  ...   
  // Nieuw token aanmaken zodat gebruiker een nieuw bestand kan uploaden
  resetToken ( request ); 
  /**saveToken(request);**/
  // Stuur door naar result.jsp
}
else 
{
  // Ongeldig formulier, waarschijnlijk refresh
    /**saveToken(request);**/
    // Stuur door naar savedocument.jsp 
}


vreemd genoeg werkt dit enigszins

[ Voor 3% gewijzigd door Deathchant op 19-05-2004 09:54 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Ik ben met een gelijkaardig project bezig en zit nu ook met een gelijkaardig probleem. Dit probleem heb ik voorlopig kunnen oplossen met telkens een redirect te doen maar waarom probeer je een redirect alsnog te vermijden?

offtopic:
Want ben je precies aan het bouwen?

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ik ben een digitaal archiveringssysteem aan het bouwen voor de opslag van documenten.
Deze moet gekoppeld zijn aan een reeds bestaande applicatie hier. Dus ik moet inloggen en authoriseren enzo. Ook moet ik op documenten zoeken met metagegevens. En documenten direct kunnen openen. Ook full text retrieval moet mogelijk zijn. Dus dat ie in de inhoud gaat kijken of een bepaald woord (string) voorkomt.

Ik heb het redirecten nog niet geprobeerd eigenlijk.
Ik gebruik Oracle 10g JDeveloper die heeft een mooi struts tekentooltje erbij zitten. Ik doe alles netjes met de return mapping.findForward aanroep.

Normaal als je op een jsp op refresh duwt, moet er niks veranderen en krijg je gewoon de huidige jsp weer te zien. Bij mij krijg ik de melding dat pagina verlopen is en dat ik moet vernieuwen. Daarbij gaat ie nog eens de request sturen.
Hoe zou het kunnen dat ik die melding krijg en een mede collega (die ook zoiets bouwt) gewoon netjes de jsp weer krijgt?

zal wel met frames te maken hebben he.

[ Voor 3% gewijzigd door Deathchant op 19-05-2004 10:11 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Ik werk met Tiles en heb dit probleem ook nog niet gehad. Dat de pagina verlopen is heeft iets met je sessie (tijd) te maken. Het zou ook kunnen zijn dat frames roet in het eten gooien, ben niet zo'n frames-fanattic.
Als het op deze manier voor je werkt, dan zou ik het zo laten.. Ik denk dat het te laat is om nog over te stappen op Tiles.

offtopic:
Ik ben aan een document management system bezig, ongeveer in dezelfde aard dus.

[ Voor 7% gewijzigd door -FoX- op 19-05-2004 14:00 ]


Verwijderd

Deathchant schreef op 19 mei 2004 @ 09:52:
vreemd genoeg werkt dit enigszins
De action wordt nu niet meer opnieuw uitgevoerd bij het reloaden van result.jsp?

Over dat pagina verlopen. Weet je zeker dat je alle headers e.d. weer verwijderd hebt? Klinkt alsof de browser cache uitgeschakeld is.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Dat denk ik ook wel ja :-) bovendien werken we al met frames vanaf het begin. Als je op de backknop drukt moet je ook maar kijken voor welk frame dat geldt. bovendien werk ik samen met 2 andere afstudeerders aan 2 modules die een uitbreiding vormen op een groot document informatiesysteem.

Het is de bedoeling dat onze 2 modules geintegreerd worden. We gebruiken dezelfde layout, naamgeving en alles en het integratietraject vind ik best moeilijk.
mijn andere collega's moeten mailtjes kunnen ontleden en als document opslaan en als xml bestand kunnen importeren en exporteren.

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Verwijderd schreef op 19 mei 2004 @ 11:17:
[...]

De action wordt nu niet meer opnieuw uitgevoerd bij het reloaden van result.jsp?

Over dat pagina verlopen. Weet je zeker dat je alle headers e.d. weer verwijderd hebt? Klinkt alsof de browser cache uitgeschakeld is.
jawel, wordt wel uitgevoerd, alleen zegt ie nu token niet valid.
Ik heb ALLE <meta http -equiv> en alle setHeaders weggehaald en bij struts-config.xml heb ik
<controller nocache="true"> ook weggehaald

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar

Pagina: 1