tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
835
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    7bkahnt 7bkahnt ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    61
    Hallo Leute,
    ich stehe vor einem Problem.
    Ich habe eine Struts 2-Anwendung geschrieben. Da ich das ständige Aktualisieren aber nervig finde, möchte ich nun AJAX einsetzen.
    Ich verwende bei Struts allerding die session als Map.
    Also so:
    Code java:
    1
    
    private Map <String, Object> session;
    und ganz unten entsprechend
    Code java:
    1
    2
    3
    4
    5
    
    @Override
      public void setSession(Map<String, Object> session) 
      {
          this.session = session;
      }

    Nun ist mein Problem, das ich mittels AJAX eine Methode aufrufen möchte, in der ich die session verwende. Da bekomme ich aktuell eine Nullpointerexception, da die setSession()-Methode ja nicht von Struts aufgerufen wird und ich somit nicht mit session.get(..) an die jeweiligen Werte kommen.
    Habt ihr evtl. dafür eine Lösung, wie ich mittels AJAX die session übergebe an die jeweilige Action-Klasse
    Ich dachte da an sowas wie
    Code java:
    1
    2
    
    HauptAction action = new HauptAction();
    action.setSession(request.getSession());

    Dies funktioniert so aber nicht, da die setSession-Methode ja eine Map benötigt und keine HttpSession.
    Für Tipps wäre ich echt sehr dankbar

    grüsse
     

  2. #2
    rgielen Tutorials.de Gastzugang
    Deine Action muss SessionAware implementieren.
     

  3. #3
    rgielen Tutorials.de Gastzugang
    OK, jetzt noch mal nicht von unterwegs und in Ruhe gelesen:

    new IrgendwasAction() ist evil und höchstens im Testfall interessant, wird aber auch nicht benötigt. Stattdessen sollte dein AJAX Request eine URL aufrufen, hinter der ein Action Mapping unter Verwendung des JSON- oder HTTPHeaderResults (statt normalem Dispatcher Result o.ä.) liegt. Die Action wird dann sauber von S2 mit vollem InvocationContext versehen, der durch alle Interceptoren etc. gelaufen ist und in dem deine Session brav injeziert ist.

    Gruß,
    René

    http://twitter.com/rgielen
     

  4. #4
    7bkahnt 7bkahnt ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    61
    Okay danke! Ich hatte gelesen, dass es mit dem Jquery-Plugin möglich sei.
    Nun habe ich das Plugin struts2-jquery2.4.1.jar runtergeladen ins Verzeichnis WEB-INF/lib eingebunden.
    Aber ich kann es nicht verwenden.
    HTML-Code:
    <%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
    Da meckert er rum "Cannot find the tag Libary for /struts-jquery-tags"

    Wäre echt froh über nen Tipp. Komme gerade absolut nicht weiter....
     

  5. #5
    rgielen Tutorials.de Gastzugang
    Wende Dich am besten an die struts2-jquery Support Gruppe (Google Group http://groups.google.com/group/struts2-jquery), um Dein Problem zu beschreiben.

    Es hilft, wenn Du Deine verwendete Umgebung beschreibst - Welcher Container in welcher Version (z.B. Tomcat 6.0.29) und welche Servlet Spec Du verwendest (2.3, 2.4, 2.5, 3.0? - sieht mal z.B am Header in der web.xml)
     

Ähnliche Themen

  1. Struts+AJAX Session-Handling
    Von 7bkahnt im Forum Java
    Antworten: 2
    Letzter Beitrag: 01.10.10, 15:31
  2. Struts+AJAX Session-Handling
    Von 7bkahnt im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 30.09.10, 16:23
  3. Struts und Ajax. Problem mit Actions
    Von 7bkahnt im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 18.08.10, 17:10
  4. JSF - Session Handling Firefox
    Von y0dA im Forum Java
    Antworten: 2
    Letzter Beitrag: 08.08.07, 13:54
  5. Session Handling
    Von Oliver Gierke im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 23.06.05, 16:04