[Jsf] كيف تعمل السمة "ملزمة" في جسف؟ متى وكيف ينبغي استخدامه؟


Answers

كل عنصر جسف يجعل نفسه إلى هتمل ولها سيطرة كاملة على ما هتمل أنها تنتج. هناك العديد من الحيل التي يمكن استخدامها من قبل جسف، وتحديدا من تلك الحيل سيتم استخدامها يعتمد على تنفيذ جسف الذي تستخدمه.

  • تأكد من أن كل من الإدخال يحتوي على اسم فريد تماما، بحيث عندما يتم إرسال النموذج مرة أخرى إلى شجرة المكون التي قدمت، فمن السهل أن أقول أين يمكن لكل مكون قراءة نموذج القيمة الخاصة به.
  • مكون جسف يمكن أن تولد جافاسكريبت أن سوبميتس يعود إلى المصل، جافاسكريبت ولدت يعرف أين كل مكون لا بد أيضا، لأنه تم إنشاؤه من قبل المكون.
  • بالنسبة لأشياء مثل هلينك، يمكنك تضمين معلومات ملزمة في عنوان ورل كمعلمات طلب البحث أو كجزء من عنوان ورل نفسه أو كمعلمات ماتركس. على سبيل المثال.

    http:..../somelink?componentId=123 سوف تسمح جسف للنظر في شجرة المكون لمعرفة هذا الارتباط 123 تم النقر. أو يمكن أن ه htp:..../jsf;LinkId=123

أسهل طريقة للإجابة على هذا السؤال هي إنشاء صفحة جسف مع رابط واحد فقط، ثم فحص الإخراج هتمل التي تنتجها. وبهذه الطريقة سوف تعرف بالضبط كيف يحدث هذا باستخدام إصدار جسف التي تستخدمها.

Question

هناك الكثير من المواد هناك سمة value binding سمة في جسف.

أنا مهتم في كيفية اختلاف كلا النهجين عن بعضهما البعض. معطى:

public class User {
    private String name;
    private UICommand link;

    // Getters and setters omitted.
}
<h:form>
    <h:commandLink binding="#{user.link}" value="#{user.name}" />
</h:form>

ومن الجميل جدا إلى الأمام ما يحدث عند تحديد سمة value . يتم تشغيل الحافظة لإعادة قيمة الخاصية name حبة User . تتم طباعة القيمة إلى إخراج هتمل.

ولكن لم أستطع أن أفهم كيف يعمل binding . كيف يحافظ هتمل الذي تم إنشاؤه على ارتباط مع خاصية link الخاصة بفول User ؟

وفيما يلي الجزء ذو الصلة من الناتج ولدت بعد تجميل اليدوي والتعليق (لاحظ أن معرف j_id_jsp_1847466274_1 تم إنشاؤه تلقائيا وأن هناك اثنين من الحاجيات الإدخال الخفية). أنا باستخدام الشمس جسف ري، الإصدار 1.2.

<form action="/TestJSF/main.jsf" enctype="application/x-www-form-urlencoded"
    id="j_id_jsp_1847466274_1" method="post"  name="j_id_jsp_1847466274_1">
    <input name="j_id_jsp_1847466274_1" type="hidden" value="j_id_jsp_1847466274_1">
    <a href="#" onclick="...">Name</a>
    <input autocomplete="off" id="javax.faces.ViewState" name="javax.faces.ViewState"
        type="hidden" value="-908991273579182886:-7278326187282654551">
</form>

أين هو المخزن المخزن هنا؟