में किसी अन्य बीन से प्रबंधितबीन संपत्ति कैसे प्राप्त करें I इसी तरह के प्रश्नों की खोज की लेकिन मैं थोड़ा उलझन में हूं। मेरे पास एक लॉगिन पेज है, इसलिए लॉग इनबीन भी है;जेएसएफ
@ManagedBean(name = "loginBean")
@SessionScoped
public class LoginBean implements Serializable {
private String password="";
private String image="";
@ManagedProperty(value = "#{loginBeanIdentityNr}")
private String identityNr="";
...
सफलता के बाद, ऑर्डरलिस्ट पृष्ठ पर नेविगेट करता है, इसलिए मेरे पास ऑर्डरबीन भी है।
@ManagedBean(name = "OrderBean")
@SessionScoped
public class OrderBean {
List<Ordery> sdList;
public List<Order> getSdList() {
try {
String identityNr ="";
ELContext elContext = FacesContext.getCurrentInstance().getELContext();
LoginBean lBean = (LoginBean) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(elContext, null, "loginBean");
identityNr =lBean.getIdentityNr();
sdList = DatabaseUtil.getOrderByIdentityNr(identityNr);
...
}
मैं, पूरी LoginBean की जरूरत नहीं है बस ManagedProperty "loginBeanIdentityNr"। लेकिन नीचे यह कोड काम नहीं करता है (बेशक);
identityNr = (String) FacesContext.getCurrentInstance()
.getApplication().getELResolver()
.getValue(elContext, null, "loginBeanIdentityNr");
इस बार यह मेरे लिए शून्य हो जाता है। मुझे लगता है कि अगर मुझे पूरी बीन संपत्ति की आवश्यकता है, तो मैं इन बीन्स इंजेक्ट कर सकता हूं, है ना? तो, क्या आपके पास इस दृष्टिकोण के लिए कोई सुझाव है? <f:attribute>
का उपयोग किया जा सकता है?
हाय बलुस, लेकिन इस बार ऑर्डरबीन में, मेरे पास लॉगिनबीन की अनावश्यक संपत्तियां होंगी। क्या यह कार्यक्रम के लिए ढेर का अपशिष्ट नहीं है? मुझे सिर्फ पहचान की आवश्यकता है। कैप्चा मूल्य या नाम नहीं। – asyard
उह, यह सिर्फ एक संदर्भ है। यह स्मृति या कुछ में पूरे बीन की एक प्रति नहीं बनाता है। यह ** बिल्कुल उसी ** बीन को इंगित करता है जैसा आपके पास सत्र में पहले से है। जावा वस्तु उन्मुख है, प्रक्रियात्मक या कुछ नहीं। और भी, एक javabean के बजाय एक स्ट्रिंग डबल-संदर्भित संभावित रूप से अधिक महंगा है। – BalusC
उत्तर के लिए धन्यवाद। जैसे ही मुझे पर्याप्त प्रतिष्ठा मिलती है, मैं आपके सभी उत्तरों को वोट दूंगा :) लेकिन, सिर्फ जिज्ञासा है, वहाँ facecontext.getblabla() .. या जेएसएफ पेज में इंजेक्शन के बिना पैरामीटर के रूप में एक और तरीका है? – asyard