تفاوت تگ های ui:decorate و ui:composition در JSF چیست؟

+1 رأی
میانگین بازدید روزانه 0.09219 بازدید

تفاوت تگ های ui:decorate و ui:composition در JSF چیست؟

سوال 6 سال قبل در تالار کامپیوتر و اینترنت توسط Saeed Zarinfam (737 امتیاز)

2 جواب

+1 رأی
 
بهترین جواب

با مطالعاتی که من کردم یکی از تفاوت های این دو تگ این است که تگ  ui:composition فقط با داده ای درون تگ خودش کار می کنه اما در ui:decorate اینطور نیست ،

یعنی شما در ui:composition نمی توانید از یک template خارجی استفاده نمایید ولی ui:decorate این اجازه رو به شما میده.

نتیجه: اگر در برنامه نیاز به ساختن کامپوننتی داریم که درون اون کامپوننت می خواهیم یک قالب یا template خارجی وارد کنیم باید از ui:decorate استفاده کنیم و در غیر اینصورت از ui:composition.

جواب 6 سال قبل توسط aminiS (479 امتیاز)
انتخاب شده در 6 سال قبل توسط Saeed Zarinfam
توضیح عالی بود. به بیان دیگر ui:decorate امکان استفاده template در template را به ما می دهد.
فکرکنم توضیحات خود شما @Saeed Zarinfarm جواب رو کاملنر کرد!و خیلی به این چیزی که شما ذکر کردید درمتن اشاره ای نشد...
+1 رأی

 تشابه شان  وارد کردن(include) تمپلیتها میباشد با این تفاوت که ui:decorate این کار را در بخشی از صفحه انجام میدهد درحالیکه ui:composition یک تمپلیت را در کل صفحه مستقر میکند و همه صفحه تحت تاثیر آن قرار میگیرند.

۱- بوسیله ui:component میتوان templateیی که ساخته شده را در کل صفحه بار گذاری کرد و از آن در صفحه استفاده کرد.مانند:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                xmlns:fn="http://java.sun.com/jsp/jstl/functions"
                template="/layout/template.xhtml">

و از طریق ui:define به بخش های ساخته شده در template دسترسی پیدا کرد و آنها را پر کرد:

<ui:define name="content">
        <ui:param name="totalAccount" value="#{fn:length(account.accounts)}"/>

 

۲- ui:decorate از لحاظ کارایی شبیه به ui:include میباشد و هردو برای وارد کردن یک صفحه به بخشی از صفحه دیگر می باشد با این تفاوت که اولی برای وارد کردن template استفاده مبشود و دومی برای وارد کردن صفحاتی که با تگ ui:fragment ساخته شده اند.

جواب 6 سال قبل توسط hosein_masbough (938 امتیاز)

سوال های مشابه

+1 رأی
2 جواب میانگین بازدید روزانه 0.05137 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.25590 بازدید
سوال 6 سال قبل در تالار برنامه نویسی توسط aminiS (479 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.06137 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.25642 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.11282 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.2184 بازدید
سوال 2 سال قبل در تالار برنامه نویسی توسط samaz (0 امتیاز)
+2 رأی
3 جواب میانگین بازدید روزانه 0.58968 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.06107 بازدید
سوال 4 سال قبل در تالار برنامه نویسی توسط crusader (92 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.11228 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط mbanaee (27 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.05127 بازدید
کانال تلگرام جواب یاب
...