Einstellung url-parameter in einer action-Methode in struts
Möchte ich hinzufügen, einen URL-parameter vor der Weiterleitung zu einer anderen Aktion von Aktion-Methode. Obwohl HttpServletRequest hat eine getParameter () - Methode, hat es keine setParameter () - Methode. Ich weiß, setAttribute() ist da, aber ich muss das it-Teil der URL (wie ?etwas=etwas&some2=some2). Ich weiß, ich kann es tun, mit Filter, aber das ist ein overkill für diese Aufgabe.
Im Grunde haben wir eine extern verwaltete filter, die sich ändern, etwas auf einer Seite, wenn dieser parameter eingestellt ist. Lassen Sie uns sagen, dass die Farbe der Seite übergeben, die als Teil des URL-Parameters. Wenn dieser parameter vorhanden ist, kann ein servlet-filter in die Hand nimmt und ändert die Farbe der Seite. Ich weiß, es ist eine sehr seltsame Art, das zu tun, aber das ist, wie Sie es hier eingestellt.
Ich weiß, wie es funktioniert mit java-script basierte form Einreichen, indem Sie die URL-parameter an die action-url (ie. "/someAction.tun?Farbe=rot"). Aber für einige der Aktionen, die tatsächlich eine Aktion.vorwärts("action_name") im code. Für die, die ich Frage mich, was zu tun ist.
Weiß jemand, wie man das in struts 1.2?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die kurze Antwort ist, dass es nicht möglich ist. Request-Parameter werden soll, werden aus der HTTP-Anforderung. Sie können gefälschte indem Sie Sie mit einer Kombination aus einer
ServletFilter
und einHttpServletRequestWrapper
aber das ist außerhalb von Struts. Je nachdem, was Sie versuchen zu erreichen, es kann eine bessere Lösung. Wollen, um zu beschreiben, dass ein bisschen mehr sein?Update
Mit den zusätzlichen Details, die Sie Hinzugefügt haben, denke ich, können Sie versuchen, diese zu sehen, wenn es Ihren Anforderungen entspricht:
Ich weiß, das ist eine alte und akzeptiert zu posten, aber Wenn Sie nicht aktualisieren Sie Ihre stützen (wie mich), dann könnte dies nützlich sein http://www.coderanch.com/t/45890/Struts/Adding-parameters-struts-action