سؤال

وأنا تطوير مكون مخصص باستخدام JSF 1.2. بلدي العلامة الطبقة تمتد UIComponentELTag ولها متغيرات نوع ValueExpression. يتم الحصول على تعيين قيم هذه من سمات المناظرة للعلامة (باستخدام وظيفة setProperties)، على سبيل المثال

<sr:show name="#{backingBean.name}" ...> #{backingBean.mainContent}</sr:show>

وأنا عالقة عندما أحاول الحصول على bodyContent العلامة كقيمة ملزمة. هذه هي الطريقة الآن لقد شرع:

public int doAfterBody() throws JspException{
    if(bodyContent!=null) {
        String body = bodyContent.getString();
        FacesContext context = FacesContext.getCurrentInstance();
        UIComponent component = super.findComponent(context);
        MyComp myComp= (MyComp) component;
        myComp.setMain(body);
    }
    bodyContent.clearBody();
    return SKIP_BODY;
}

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

في JSF 1.1، راجعت هذا isValueReference(body) استخدام. كيف يمكنني تحقيق ذلك في JSF 1.2؟ لم أجد أية أمثلة من الحصول على محتوى الجسم كقيمة ملزم في أي مكان.

هل كانت مفيدة؟

المحلول

لماذا لا مجرد إضافة على سبيل المثال متغير آخر "محتويات" وربط ذلك إلى النص الأساسي الذي تريد جعل؟

<sr:show name="#{backingBean.name}" text="#{backingBean.mainContent}" />

وأو ببساطة:

<sr:show bean="#{backingBean} />

ووتقديم الكثير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top