سؤال

وهنا الوضع:

في غنية: DataTable وفي a4j: شكل، أنا خلق a4j: commandLink لتحديد القيم وتمريرها إلى الفول مع جبوس جملة إجراءات ايل

action="#{bean.myaction(myparameter)}"

وهذا يعمل بدون مشكلة.

ولكن لو كنت إعادة تقديم نموذج لتصفية DataTable ومع مكالمة اياكس، عندما حدد القيمة، انه يعطيني نتائج خاطئة: المؤشر من الاختيار، ولكن البيانات من قبل تصفية

وأي أفكار؟

وشكرا زاك لاعطائي الحل الصحيح في 5 دقائق فقط.

وأعتقد أن يمر المعلمة في العمل بين قوسين هو أكثر أناقة ولكن، مهلا: هذا يعمل. :)

وشكرا لكم كثيرا.

وP.s. أنا تحرير العنوان أيضا.

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

المحلول

وحاول استخدام:

<a4j:commandLink action="#{bean.myaction}">
    <f:param name="myparameter" value="paramValue" />
</a4j:commandLink>

ومن ثم الوصول إلى تلك المعلمة في العمل الخاص بك عن طريق requestParameter("myparameter") من خلال FacesContext.

وأما الجانب علما، وهذا ليس جبوس EL، انها موحدة لغة التعبير (EL). انها مجرد سمة من سمات JSP / JSF بشكل عام، على النحو المحدد من قبل أحد

نصائح أخرى

وبالإضافة إلى الإجابة على زاك، وأود أن أقول أنه إذا كنت بحاجة لتمديد تعبيرات EL لديها القدرة على استدعاء الأسلوب مع المعلمات، يمكنك استخدامها في مكتبة EL المنفذون :

action="#{bean.myaction$[myparameter].action}"

هل DataTable والخاص بالسكان باستخدام مجموعة المشروح معDataModel؟ إذا كان الأمر كذلك محاولة إزالته من سياق عند تصفية بحيث يحصل على إعادة طلب.

وعلى سبيل المثال.

//In filter method
Contexts.removeFromAllContexts("yourDataModelCollection");

ووضع في DataTable وفي <a4j:region> عملت بالنسبة لي. بهذه الطريقة، يمكنك الاستمرار في استخدام المعلمات جبوس EL.

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