Announcement

Collapse
No announcement yet.

Einbindung von GWT in Struts

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Einbindung von GWT in Struts

    Hallo miteinander

    Ich habe ein bestehendes Struts Formular und möchte ein Feld (Zip, City) mit einer suggest funktion (Vorschlagsliste) ausrüsten. Eigentlich wollte ich die Funktionalität mit dem Google Web Toolkit implementieren - was sich in Verbindung mit Struts als eine Herausforderung herausstellte.

    Die aktuelle Situation ist so: das aus GWT generierte Javascript setzt die Suggest-Box in ein <td>, bei einer Änderung wird zusätzlich der Value in ein Hidden-Feld geschrieben.

    Das ganze soll in Struts integriert werden, was soviel heisst, dass der Text des Text-Feldes in das Formular-Bean geschrieben werden soll und onload wieder damit abgefüllt werden soll. Das Bean befindet sich in der Session.

    Ein denkbarer Lösungsansatz wäre, dass ich den Text mit JavaScript aus einem Hidden Struts-Feld in die Box schreibe. Geht dies direkt aus GWT (lesen von hidden-feldern die nicht bestandteil sind des Java-Codes)???

    Ein anderer denkbarer Lösungsansatz wäre, dass ich die Funktionalität der Suggestbox einer bestehenden Textbox anfügen kann.

    Andernfalls stellt sich die Frage: ist GWT gar nicht geeignet um bestehende Formulare zu erweitern?? Wäre dwr DIE Alternative??

    Besten Dank schon jetzt für die Mühe.

    Herzliche Grüsse
    Raffael Schmid

    //-----------------------------------------------------------------------------------

    Hier noch der Java-Code:
    public class Suggest implements EntryPoint {

    /**
    * This is the entry point method.
    */
    public void onModuleLoad() {

    final HTML history = new HTML();
    final HTML debugging = new HTML();

    SuggestOracle oracle = new ServicedSuggestOracle("/hypo/placeSuggestion");

    final SuggestBox completer = new SuggestBox(oracle);
    completer.setLimit(6);

    final Hidden plzCityKey = new Hidden();
    plzCityKey.setName("placeId");
    final String HELP = "Type here";
    completer.setText(HELP);

    completer.addEventHandler(new SuggestionHandler() {
    public void onSuggestionSelected(SuggestionEvent event) {
    String suggestion = ((StringSuggestion) event
    .getSelectedSuggestion()).getDisplayString();
    String suggestionValue = ((StringSuggestion) event
    .getSelectedSuggestion()).getReplacementString();
    completer.setText(suggestion);
    plzCityKey.setValue(suggestionValue);
    }
    });

    completer.addFocusListener(new FocusListener() {
    public void onFocus(Widget sender) {
    completer.setText("");
    }

    public void onLostFocus(Widget sender) {
    // completer.setText(HELP);
    }
    });

    RootPanel.get("completer").add(completer);
    RootPanel.get("completer").add(plzCityKey);
    RootPanel.get("history").add(history);
    }
    }
    //-----------------------------------------------------------------------------------
Working...
X