2011-10-28 16 views
6

तो मैं काम करने के लिए नमूना ऐप प्राप्त करने के लिए संघर्ष कर रहा हूं। मैं प्राइमफेसेस 3.3 एम 4-स्नैपशॉट, जेबीओएसएस 7 वेब प्रोफाइल (सीडीआई और जेएसएफ मोजाररा) का उपयोग कर रहा हूं।

@Named 
@ViewScoped 
@URLMapping(id = "viewEditor", pattern = "/editor/e", viewId = "/editor/editor.jsf") 
public class ViewEditor implements Serializable { 

public void deleteNode() { 
    selectedNode.getChildren().clear(); 
    selectedNode.getParent().getChildren().remove(selectedNode); 
    selectedNode.setParent(null); 

    selectedNode = null; 

} 
} 

मेरे एक्सएचटीएमएल:

 <p:contextMenu for="docs"> 
      <p:menuitem value="View" update="documentPanel" 
       icon="ui-icon ui-icon-search" oncomplete="documentDialog.show()" /> 
      <p:menuitem value="Delete" 
       actionListener="#{viewEditor.deleteNode}" update="docs" 
       icon="ui-icon ui-icon-close" /> 
     </p:contextMenu> 

मेरे एप्लिकेशन चलाने के लिए, यह है अपवाद मैं:

javax.el.ELException: /editor/editor.xhtml: The class 'application.ViewEditor$Proxy$_$$_WeldClientProxy' does not have the property 'deleteNode'. 
    com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:94) 
    com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82) 
    com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183) 
    javax.faces.render.Renderer.encodeChildren(Renderer.java:168) 

किसी को भी आया था

मैं अपने समर्थन की फलियों है जैसा कि मैंने किया था उसी मुद्दे पर?

+0

यहां गायब जानकारी है। आप शायद जो भी कहते हैं उससे ज्यादा उपयोग करते हैं। यह @ViewScoped कहां से आता है? सीम 3 चेहरे मुझे लगता है कि आपके पास सुंदरता एनोटेशन भी है। आपको जो त्रुटि मिलती है वह एल को एक संपत्ति की तलाश में था इसलिए "getDeleteNode()" को कॉल करने का प्रयास करें। क्या आप निश्चित हैं कि आप JSF पृष्ठ में "deleteNode" की कोई अन्य घटना नहीं करते हैं? क्या आप पूरी जानकारी या जिथब लिंक भेज सकते हैं? –

+0

हाय एंटोनी, मेरे ज्ञान के लिए @Viewscoped एक ई 6 एनोटेशन है: http://download.oracle.com/javaee/6/api/javax/faces/bean/ViewScoped.html मुझे यकीन नहीं है कि चेहरे का उपयोग किया जाता है jboss 7 के लिए बॉक्स से बाहर। मैं बस प्राइमफेस शोकेस में वर्णन के रूप में नमूना ऐप बनाने की कोशिश कर रहा हूं http://www.primefaces.org/showcase-labs/ui/treeTableContextMenu.jsf –

+0

हां @ViewScoped में है जेएसएफ spec लेकिन सीडीआई में नहीं। जो कोड आप दिखा रहे हैं वह संगत नहीं है और केवल काम करता है क्योंकि आपको व्यूस्कोप में इस बीन की आवश्यकता नहीं है और इसे अनुरोध कार्य में भी शामिल है। अगर यह बदलता है ... यह काम नहीं करेगा। –

उत्तर

5

ठीक है जवाब मिला। ऐसा लगता है कि primefaces के लिए नाम स्थान

xmlns:p="http://primefaces.prime.com.tr/ui" 

से

xmlns:p="http://primefaces.org/ui" 

में बदल गया है नाम स्थान सब कुछ काम किया बदल कर। वाह कि नीचे ट्रैक करने के लिए एक छिपी हुई चीज थी।

+1

बस भविष्य के संदर्भ के लिए: मैंने यह भी देखा है कि "संपत्ति नहीं है" त्रुटियां जब चालान विधि ने कुछ रनटाइम अपवाद (शून्य सूचक) फेंक दिया, या जब '@ पोस्टकंट्रूट' विधियां विफल हो गईं, लेकिन शायद केवल समग्र घटक में; यह भी देखें [जेएसएफ 2 समग्र घटक एक्शन विधि के लिए PropertyNotFoundException फेंकता है] (http://stackoverflow.com/questions/3487489/jsf2-composite-component-throws-propertynotfoundexception-for-action-method) और बग [JAVASERVERFACES-1806] (http : //java.net/jira/browse/JAVASERVERFACES-1806)। – Arjan

0

मेरे मामले में कारण पूरी तरह से अलग था।

मैं serialVersionUID क्षेत्र सहित एक वर्ग की नकल की:

private static final long serialVersionUID = 5443351151396868724L; 

तो मैं दो अलग-अलग वर्गों के लिए किया था और एक ही serialVersionUID साथ वस्तुओं और इस समस्या का सुराग था।

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