Wie zu machen ActionBean sofort instanziiert werden, aber nicht, nachdem ich eine der Handler nennen?

StackOverflow https://stackoverflow.com/questions/3080442

  •  28-09-2019
  •  | 
  •  

Frage

Ich versuche, etwas einfach mit Streifen zu machen. Ich habe gelesen, und viel über die Leichtigkeit der Verwendung dieses Rahmens und über steile Lernkurve zu hören (das heißt Lernen ist recht schnell und produktiv).

Aber bis zu diesem Moment kann ich nicht einmal die einfachste Hello World mit Streifen erstellen.

Alle Beispiele, die ich gefunden habe, zeigen, Funktionalität wie: „Klicken Sie auf den Link -> siehe das Ergebnis“. Wenn wir auf den Handler Link Sonder klicken aufgerufen (die Resolution zurückgibt) und nach, dass Getter auch funktioniert (weil Bean instanziiert wird).

Aber wenn ich will nicht, einen Link, aber ich möchte einfach statische Informationen (zum Beispiel, wenn ich Stackoverflow öffnen Ich brauche nicht einen Link zu klicken, aber ich sofort eine Liste von Fragen sehen) dann etwas nicht ist es trivial für Streifen wie es scheint mir, weil Bohne nicht sofort instanziiert wird.

Wie das beheben? Gibt es eine besondere Anmerkung oder eine andere Technik?

Haben hier jemand versucht, Streifen und traf das gleiche Problem? Ich bin wirklich frustriert, vielleicht habe ich etwas verpasst ..

UPD: es ist wahrscheinlich nicht klar, weil ich keinen Code angehängt haben. Also habe ich ein bisschen mehr beschreiben. Um meine Situation zu reproduzieren ist es genug, um den Code von Quick zu erhalten und versuchen, Text aus ActionBean Getter abrufen (derzeit Text wird hartcodiert in jsp). Der Text erscheint nur, wenn Sie die Taste drücken (das heißt nach Handler hat einige Arbeit). Aber nachdem Sie die Seite erstes Mal öffnen Sie nicht den Text sehen.

War es hilfreich?

Lösung

Sind Sie vertraut mit dem MVC-Muster (siehe http : //en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller )? Einer der wichtigsten Teile des MVC ist, dass Sie jemals nie direkt die JSP nennen. Sie gehen nicht auf www.myservername.com/myjsp.jsp . Stattdessen gehen Sie auf www.myservername.com/mything.action . Streifen werden einige Verarbeitung tun, ein paar Sachen gesetzt, und Sie dann auf die spezifischen JSP senden.

Aus Ihrer Frage, es klingt wie Sie direkt zu JSPs zu gehen versuchen. Stoppen Sie das tun, und Sie werden zusammen viel schöner mit Streifen erhalten.

Wie für das, was passiert, wenn Sie nur zu www.myservername.com gehen, gehen Sie in die Welcome-Datei in Ihrem web.xml. Sie tun so etwas wie dieses

<welcome-file>index.jsp</welcome-file>

(ja Sie brechen die Regel zu keinem jsp direkt)

Dann in index.jsp Sie machen es zu einer 1 Zeile Datei wie folgt:

<jsp:forward page="myaction.action"/>

Und das erste Mal, wenn jemand auf Ihre Website geht, schlagen sie index.jsp, die sie zu einer Aktion sendet, die bevölkert stopfen und leitet sie weiter. In keinem anderen Fällen erhält der Benutzer direkt zu einem jsp und der Index-Datei ist nichts anderes als ein uns auf eine wirkliche Handlung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top