/ / JSF / Facelets: prečo nie je dobrý nápad kombinovať JSF / Facelets so značkami HTML? - jsf, xhtml, facelety

JSF / Facelets: prečo nie je dobré kombinovať JSF / Facelets s tagmi HTML? - jsf, xhtml, facelets

Teraz som to čítal niekoľkokrát: niektorí vývojári nie sú zástancami vkladania značiek JSF / Facelets so značkami HTML do svojich súborov XHTML. Značky HTML zjavne nebudú súčasťou stromu komponentov používateľského rozhrania, aká je však ich nevýhoda?

Často nachádzam príklady kódov, kde autori miešajú tieto druhy:

http://www.ibm.com/developerworks/java/library/j-facelets/

http://www.packtpub.com/article/facelets-components-in-jsf-1.2

http://oreilly.com/catalog/9780596529246

"Šev v akcii" tiež prekladá značky JSF / Facelets a značky HTML.

Som zmätený, čo vlastne použiť. Začal som miešať značky, ale začínam veriť, že to asi nebola správna voľba. Nechápem však, prečo je puristický prístup výhodnejší.

S určitosťou viem, že mám tabuľku, kde dátová tabuľka JSF mi nedáva dostatočnú flexibilitu na to, aby som zobrazila to, čo potrebujem, takže robiť to puristicky nie je možné.

Ďalej sa pýtam, prečo žiadny z vyššie uvedených príkladov nepoužíva namiesto pevne zakódovaných značiek html, head, body atď. F: view atď.

Môže mi to prosím niekto objasniť?

odpovede:

17 pre odpoveď č. 1

Počas JSF 1.0 / 1.1 vek to skutočne nebol „dobrý nápad“, pretože pri použití JSP ako technológie zobrazenia nebol všetok kód HTML automaticky prevzatý do stromu komponentov JSF. Celé obyčajné HTML bolo JSP nedočkavo vykreslené pred strom komponentov JSF. Napr.

<p>Lorem ipsum <h:outputText value="#{bean.value1}"> dolor sit amet<p>
<p>Consectetur adipiscing <h:inputText value="#{bean.value2}" /> elit</p>

bol vykreslený ako

<p>Lorem ipsum dolor sit amet<p>
<p>Consectetur adipiscing elit</p>

value1
<input type="text" value="value2" />

Ak to chcete napraviť, musíte si priniesť <f:verbatim> v.

<f:verbatim><p>Lorem ipsum </f:verbatim><h:outputText value="#{bean.value1}"><f:verbatim> dolor sit amet<p></f:verbatim>
<f:verbatim><p>Consectetur adipiscing </f:verbatim><h:inputText value="#{bean.value2}" /><f:verbatim> elit</p></f:verbatim>

Toto bola skutočná udržiavacia bolesť. To bol jeden z hlavných dôvodov, prečo bol JSF 1.0 / 1.1 tak nenávidený.

Od JSF 1.2 s novým ovládačom pohľadu sa <f:verbatim> už nebolo potrebné. Vývojárom teraz môže dýchať úľava. Nový obslužný program zobrazenia navyše umožnil spoločnosti JSF použiť inú technológiu zobrazenia ako JSP, a tak vznikli Facelety.

Pozri tiež:


4 pre odpoveď č. 2

Ako všeobecné pravidlo používam mix betweek HTML aZnačky čeleniek na stránkach rozloženia / šablóny. Ale pre skutočné stránky s obsahom sa snažím používať iba značky JSF dostupné v mojej knižnici JSF podľa výberu (JSF + RichFaces).

Takto môžem mať väčšiu kontrolu nad tým, ktoré prvky sa majú zobraziť a skryť, ako aj nad obsahom každého prvku, ale stále si dokážem napevno naprogramovať svoje rozloženie hlavnej stránky v súbore šablón čeleniek.