मैं प्राइमफेस p:autoComplete
विजेट का उपयोग अपने प्रोजेक्ट के एक खोज फ़ॉर्म में कर रहा हूं। उपयोगकर्ता यह चुन सकता है कि वह कितने और किस फॉर्म-तत्व (खोज पैरामीटर) को शामिल करना चाहता है, इसलिए मुझे उनमें से प्रत्येक के लिए completeMethod
पर एक आईडी पास करने की आवश्यकता है। मैंने ऑब्जेक्ट को बीन पर पास करने के लिए onfocus=".."
जोड़ने का प्रयास किया है, लेकिन जब तत्व पहले लोड होता है तो केवल सक्रिय हो जाएगा।पूर्ण करने के लिए पैरामीटर पास करना पी: ऑटोकंपलेट
मेरा प्रश्न: मैं completeMethod
पर एक विशेषता कैसे पास कर सकता हूं?
तत्व की एक्सएचटीएमएल (सरल):
<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
completeMethod="#{myBean.complete}" />
सेम (सरल):
@Named("myBean")
public class MyController implements Serializable {
public List<String> complete(String query) {
List<String> results = new ArrayList<String>();
// ... code
return results;
}
}
सिद्धांत रूप में यह सही समाधान की तरह प्रतीत होता है:
<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
completeMethod="#{myBean.complete(filter)}" />
और फिर से बीन:
@Named("myBean")
public class MyController implements Serializable {
public List<String> complete(String query, FilterObject o) {
List<String> results = new ArrayList<String>();
// ... database query based on FilterObject o
return results;
}
}
मैं दोनों का सुझाव दिया sollutions की कोशिश की और वे दोनों एक आकर्षण की तरह काम किया। मैंने दूसरा दृष्टिकोण चुना है इसलिए मुझे विशेषता की आवश्यकता नहीं होगी। आपका बहुत बहुत धन्यवाद! –
आपका स्वागत है। ध्यान दें कि मैंने एक '@ इंजेक्ट' सुझाव जोड़ा है जो आपके लिए भी काम कर सकता है। – BalusC