struts2 - Probleme mit parametrisierten URLs

Status
Nicht offen für weitere Antworten.

oetzi

Bekanntes Mitglied
Morgen zusammen,

ich habe folgendes großes Problem:
Auf einigen meiner Seiten baue ich mir folgendermaßen Links zusammen:
< a href="< s:url namespace='/games' action='acceptQuest'></s:url>?queststepID=< s😛roperty value="pk_queststep" />" >Accept < /a>
Und das erzeugt auch erstmal wunderschöne Links die ungefähr so aussehen:
.../games/acceptQuest.action?queststepID=1

so weit, so gut.

Das Problem ist jetzt, dass sobald ich auf einen dieser parametrisierten Links geklickt habe, der Parameterteil "?queststepID=1" an all anderen Links dran gehangen wird!?!

Damit es klar wird:
Eigentlich sollte ein anderer Link so aussehen:
.../games/goToSomewhere.action
er wird aber dann so angezeigt:
.../games/goToSomewhere.action?queststepID=1
oder wenn ich auf einen link mit einem weiteren Parameter klicke sieht es so aus: (der falsche Parameter wird hintendran gehangen)
.../games/doIT.action?anotherID=2?queststepID=1

Das führt halt sehr oft zu Fehlerseiten.

Ich kann mir dieses Verhalten überhaupt nicht erklären und verstehe nicht woher bzw. warum der Parameter überall dran gehangen wird.

Kann mir da jemand helfen?

Schönen Gruß
oetzi
 
Hallo,

ich erzeuge die Links folgendermaßen:

[XML]
<s:url action="example-action" var="exampleUrl">
<s😛aram name="exampleParam" value="param"/>
</s:url>
<a href="<s😛roperty value="exampleUrl"/>"
title="<s:text name="urlTitle"/>">
<s:text name="urlText"/>
</a>
[/XML]

Dein Problem habe ich mit dieser Variante bisher nicht beobachten können. Ich kann mich aber dunkel erinnern, dass ich ein ähnliches Problem hatte, als ich angefangen habe mich mit Struts 2 zu beschäftigen.

Gruß

Stareagle
 
In die struts.xml eintragen:

<constant name="struts.url.includeParams" value="none" />
 
@ign0rant:
Jo, super! So eine Kleinigkeit mit so großen Auswirkungen... 🙂
mhh, aber was bewirkt das denn jetzt genau? Ich meine, wird jetzt evtl. eine Funktionalität deaktiviert, die ich woanders brauchen könnte?

Und noch eine wichtige Sache diesbezüglich:
Wie soll man auf sowas kommen?? 🙁
Es gibt zwar viele Tutorials etc. die einem das normale Handling mit struts2 näher bringen, aber z.b. Infos, was man alles sinnvolles in der struts.xml einstellen kann, habe ich noch nicht gefunden.

Gibt es da versteckte Seiten, die google mir bis jetzt verweigert hat?



Hallo,

ich erzeuge die Links folgendermaßen:

[XML]
<s:url action="example-action" var="exampleUrl">
<s😛aram name="exampleParam" value="param"/>
</s:url>
<a href="<s😛roperty value="exampleUrl"/>"
title="<s:text name="urlTitle"/>">
<s:text name="urlText"/>
</a>
[/XML]

Dein Problem habe ich mit dieser Variante bisher nicht beobachten können. Ich kann mich aber dunkel erinnern, dass ich ein ähnliches Problem hatte, als ich angefangen habe mich mit Struts 2 zu beschäftigen.

Gruß

Stareagle

Hallo Stareagle,
danke für deine Antwort.
Leider bekomme ich folgendes um die Ohren geschmissen, wenn ich das var Attribute verwende:
>> Attribute var invalid for tag url according to TLD
Da obige Lösung allerdings zum Erfolg geführt hat, denke ich mal, dass es sich erledigt hat.


Schönen Gruß
oetzi
 
Hier ist das alles dokumentiert. Unter anderem steht da auch, dass man das includeParams Attribut im <s:url>-Tag überschreiben kann.
 
Vielen Dank ign0rant!
Das hilft mir sicherlich beim nächsten Problem eher selbst auf die Lösung zu kommen 🙂

Schönen Gruß
oetzi
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben