1 / 20

Publicvoid - Onlinenotes

Publicvoid - Onlinenotes. SWOS HS 2011/12. Vorstellung Website Probleme - Lösungen Quick & easy. Inhalt. Onlinenotes. Vorstellung Website. ( Primefaces ) AJAX Update

cachez
Download Presentation

Publicvoid - Onlinenotes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Publicvoid - Onlinenotes SWOS HS 2011/12

  2. Vorstellung Website Probleme - Lösungen Quick & easy kalik1, messu2, joosp1, stahm3 Inhalt

  3. Onlinenotes kalik1, messu2, joosp1, stahm3 Vorstellung Website

  4. (Primefaces) AJAX Update Notiz Detail (Komponente id=“noteDetail”) wurdenichtaktualisiert obwohl:<p:ajax event="rowSelect" update=“noteDetail" /><h:panelGroup id=„noteDetail"> …</panelGroup> kalik1, messu2, joosp1, stahm3 Problem

  5. Komponenten ID‘s werden im HTML Output verschachtelt generiert.Also z.B. id=„form:komponente1:komponente2“ ID‘s müssen verschachtelt angegeben werden Alle Komponente mit ID‘s vergeben, sonst werden generische ID‘s erstellt kalik1, messu2, joosp1, stahm3 Lösung

  6. Objektübergabe auf eine andere Seite Per URL Parameter und auf der neuen Seite mit diesem das Objekt aus der DB holen? In ein Hidden-Field und dann posten? In der action des aktuellen Beans probieren direkt über den Setter das Objekt im anderen Bean zu setzen? … kalik1, messu2, joosp1, stahm3 Problem

  7. Innerhalb h:commandButton und h:commandLink können sogenannte PropertyActionListenerangegeben werden um Daten mitzugeben.<f:setPropertyActionListenervalue="#{overviewBean.selectedNote}„target="#{noteBean.currentNote}" /> kalik1, messu2, joosp1, stahm3 Lösung

  8. Aktualität der Objekte / Scope Problem Änderungen an Objekten / Beanswurden nicht überall übernommen und die alten Daten wurden angezeigt  führt zu Inkonsistenzenz.B. Anzahl Notes in einem Notebook kalik1, messu2, joosp1, stahm3 Problem

  9. JPA Cache disablen persistence.xml  Cache Sharedcachemode: NONE kalik1, messu2, joosp1, stahm3 Lösung

  10. JPA Cascade Options Beim Löschen einer Note wurde praktisch alle Daten der DB gelöscht, d.h. alle anderen Notizen, der User, die Notebooks. Fehler wurde zuerst im BackingBean vermutet… kalik1, messu2, joosp1, stahm3 Problem

  11. In JPA kann definiert werden, welche Actions als Cascaded ausgeführt werden sollen. Diese Option war für alle Modelle auf „All“ gesetzt.  Kettenreaktion Individuell pro Modell und Property einstellen! kalik1, messu2, joosp1, stahm3 Lösung

  12. URL bleibt die selbe nach Wechsel auf andere Seite Mit <h:commandButton value="create note" action="notes" />sollte man auf die Seitenotes.xhtmlkommen. DerInhalterscheintzwar von notes.xhtml, jedochist die URL immernoch die alte. kalik1, messu2, joosp1, stahm3 Problem

  13. Ist in JSF so, da default mit POST gearbeitet wird. Alternativ mit GET arbeiten Komplizierter zu Implementieren kalik1, messu2, joosp1, stahm3 Lösung

  14. Input Validator (1) • Klasseerstellen die Validator implementiert • Methode „validate“ implementieren • Validierungslogikerstellen • Wenn NOK: FacesMessagefürFehlermeldungerstellen und ValidatorException(message)werfen. kalik1, messu2, joosp1, stahm3 Quick & easy

  15. Input Validator (2) Validator im faces-config.xml registrieren z.B. innerhalb <h:inputText></h:inputText> einbinden:<f:validatorvalidatorId=„...PasswordValidator" /> kalik1, messu2, joosp1, stahm3 Quick & easy

  16. Converter (1) • Klasseerstellen die Converterimplementiert • Methode „getAsObject“ implementieren • Ein String Repräsentant des Objekts in das effektive Objekt umwandeln • Methode „getAsString“ implementieren • Das Objekt in ein String Repräsentant umwandeln kalik1, messu2, joosp1, stahm3 Quick & easy

  17. Converter (2) Converter im faces-config.xml registrieren z.B. bei einem Select-Element einbinden:<h:selectOneMenu … converter="#{notebookConverter}"> …</h:selectOneMenu> kalik1, messu2, joosp1, stahm3 Quick & easy

  18. Templating (1) Template (z.B. temp.xhtml) erstellen Facelets Namespace registrieren in HTML-Tag Ersetzbare Content-Bereiche markieren mit<ui:insertname="PageContent" /> Auf der effektiven Content-Seite Template einbinden<ui:compositiontemplate="temp.xhtml"> …</ui:composition> kalik1, messu2, joosp1, stahm3 Quick & easy

  19. Templating (2) Innerhalb <ui:composition> können nun die Content-Blöcke definiert werden mit <ui:definename="PageContent"> CONTENT</ui:define> kalik1, messu2, joosp1, stahm3 Quick & easy

  20. kalik1, messu2, joosp1, stahm3 Fragen?

More Related