2013-08-05 6 views
5

नहीं है मेरी इकाई में: मेरे JSF पेज मेंवर्ग संपत्ति

@Id 
@GeneratedValue(strategy=GenerationType.IDENTITY) 
@Column(unique=true, nullable=false) 
private int tId; 
.... 
public int getTId() { 
     return this.tId; 
} 

public void setTId(int tId) { 
     this.tId = tId; 
} 

और कोड:

<ui:repeat value="#{techCat.techsOfCat}" var="post"> 
    <h:outputText value="#{post.getTId()}"/> 
     ... 
</ui:repeat> 

परिणाम अच्छा है। लेकिन मैं कोड अगर:

value="#{post.tId}": The class 'model.Technology' does not have the property 'tId'. 

मैं वास्तव में उस त्रुटि समझ में नहीं आता:

<ui:repeat value="#{techCat.techsOfCat}" var="post"> 
    <h:outputText value="#{post.tId}"/> 
    ... 
</ui:repeat> 

मैं एक त्रुटि का सामना करना पड़ा। क्या आप मुझे समझा सकते हैं? धन्यवाद

उत्तर

9

त्रुटि का अर्थ है कि सही गेटर्स और सेटर्स आपकी संपत्ति के लिए नहीं स्थित हो सकते हैं। अपने गेटर और सेटर के लिए सही सिंटैक्स होना चाहिए:

public int gettId() { 
    return tId; 
} 

public void settId(int tId) { 
    this.tId = tId; 
} 

आप हमेशा sure- नहीं कर रहे हैं अपने getters और setters के लिए कोड पीढ़ी का उपयोग करें।

यदि आप specific convention में रुचि रखते हैं, तो आपका गेटर और सेटर TIdtId से संबंधित होगा।

+0

-1 यह कहने के लिए कि गेटर/सेटर गलत हैं (इसके बजाय, यह ईएल में संपत्ति का नाम है जो गलत है), वास्तव में सही उत्तर/तकनीकी स्पष्टीकरण के साथ एक लिंक को इंगित करने के लिए +1। – BalusC

+0

वह अपनी संपत्ति को 'निजी int tId' के रूप में परिभाषित करता है, इसलिए मैंने सोचा कि क्या वह ऐसा कुछ चाहता है जो उससे संबंधित है, तो उसे मेरे उत्तर में परिभाषित गेटर्स और सेटर्स का उपयोग करना चाहिए? आप निश्चित रूप से ईएल में संपत्ति का नाम भी बदल सकते हैं। या क्या मैं कुछ न कुछ भूल रहा हूं? – bjedrzejewski

+0

ईएल गुण निजी बीन गुणों के अनुरूप नहीं हैं। वे सार्वजनिक बीन गेटर/सेटर के अनुरूप हैं। आपके उत्तर में प्रस्तावित गेटटर/सेटर सिंटैक्स जवाबीन्स विनिर्देश के अनुसार अमान्य है (मैंने इसका परीक्षण नहीं किया है, लेकिन अगर मैं अभी भी कुछ ईएल इंप्रेशन/संस्करणों और/या बीन आत्मनिरीक्षण एपीआई पर 'PropertyNotFoundException' का कारण बनता हूं तो मुझे आश्चर्य नहीं होगा)। ओपी का मूल गेटर/सेटर सिंटैक्स मान्य था, यह केवल ईएल संपत्ति का नाम है जो गेटर/सेटर सिंटैक्स के आधार पर गलत है। – BalusC

संबंधित मुद्दे