+1 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)
ویرایش شده قبل توسط
آیا در expression language های JSF می توانم از $ استفاده کنم؟ و تفاوت آن با # در چیست؟

1 پاسخ

+4 امتیاز
قبل توسط (519 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

در jsf دو نوع expression وجود دارد:

immediate expression : که با علامت $ نشان داده می شود.از این نوع عبارات فقط برای خواندن ویا در اصطلاح فراخوانی متود getter استفاده می شود و به محض این که jsf به این نوع عبارات برخورد کند آنها را محاسبه کرده و نتیجه آن را برمی گرداند.

deferred expression : که با علامت # نشان داده می شود. از این نوع عبارات برای خواندن و نوشتن ویا در اصطلاح فراخوانی متودهای getter و setter استفاده می شود. jsf هر وقت که به نتایج این عبارات نیاز داشت آن ها را محاسبه کرده و استفاده می کند مثلا می تواند در فاز های مختلف render صفحه این عبارات را محاسبه کرده و ار نتایج آن ها استفاده می کند. همچنین این نوع عبارات قادر به فراخوانی متد های سمت سرور می باشند.

کلا توصیه می شود که در jsf از deferred expression استفاده شود و از immediate expression در صفحات jsp یا jstl استفاده شود.

برای اطلاعات بیشتر به لینک زیر مراجعه نمایید:

http://today.java.net/pub/a/today/2006/03/07/unified-jsp-jsf-expression-language.html#why-unified-expression-language

سوالات مشابه

0 امتیاز
1 پاسخ 220 بازدید
0 امتیاز
1 پاسخ 193 بازدید
0 امتیاز
1 پاسخ 824 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط bahrambb (308 امتیاز)
0 امتیاز
1 پاسخ 307 بازدید
0 امتیاز
0 پاسخ 285 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
0 امتیاز
1 پاسخ 194 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
0 امتیاز
0 پاسخ 124 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
0 امتیاز
0 پاسخ 188 بازدید
0 امتیاز
1 پاسخ 297 بازدید
...