Feb 28, 2010

Οι πολλοί τρόποι που μπορούμε να αξιοποιήσουμε το PPR στα ADF Faces

Η τεχνική του partial page rendering (PPR ή αλλιώς AJAX για τα υπόλοιπα frameworks) μας επιτρέπει να επανασχεδιάσουμε αυτόνομα ένα μέρος της οθόνης, προσφέροντας έτσι δυναμικότερες διεπαφές για τους τελικούς μας χρήστες. Συνοπτικά οι επιλογές που έχουμε ώστε να το ενεργοποιήσουμε στα ADF Faces είναι οι ακόλουθες:

1. Μέσα από τα properties των user interface components όπως autoSubmit, partialTriggers, partialSubmit, κλπ

2. Στο επίπεδο ενός iterator, μέσα από το page definition file, επηρεάζοντας την τιμή του ChangeEventPolicy σε ppr, ώστε οποιεσδήποτε μεταβολές στο μοντέλο και στα πεδία του, να μπορούν να συγχρονίσουν τον iterator με την χρήση JSF action listeners, αντί να πραγματοποιούμε αυτές τις ρυθμίσεις πεδίο προς πεδίο, όπως στην πρώτη λύση.

Σε βοήθεια μας, υπάρχουν δυο χαρακτηριστικά του ADF που μας επιτρέπουν τον επαναϋπολογισμό της τιμής ενός πεδίου, έπειτα από ένα PPR γεγονός: το πρώτο αφορά τον ορισμό των εξαρτήσεων μεταξύ πεδίων.


Το δεύτερο αφορά τον ορισμό ενός control hint στα πεδία που θα οδηγήσουν στον επαναϋπολογισμό ή επανασχεδίαση ενός τρίτου πεδίου.

Κατά αυτόν τον τρόπο, μπορούμε να γράψουμε μια έκφραση του στυλ autoSubmit=#{bindings.field.hints.autoSubmit} ώστε να ενημερώσουμε αυτόνομα το πεδίο μας και όχι ολόκληρη την φόρμα.

  1. Προγραμματιστικά χρησιμοποιώντας το κατάλληλο API (http://download.oracle.com/docs/cd/E15523_01/web.1111/b31973/af_ppr.htm#insertedID3)
  2. Αξιοποιώντας τα active data services (http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adv_ads.htm) που οδηγούν στο φρεσκάρισμα των δεδομένων ενός component σε τακτά χρονικά διαστήματα

No comments: