rest - MOXy's @XmlCDATA seems to have no affect -


मैं निम्नलिखित ब्राउजर (स्रोत देखें)

  & lt; सामग्री & gt; & Lt;! [सीडीएटीए [कृपया इसे एक अप्रेसिड सीडीएटीए टैग के अंदर दिखाएं]] & gt; & Lt; / सामग्री & gt;   

लेकिन मैं acutally मिल

  & lt; सामग्री & gt; कृपया इसे एक अपठित CDATA टैग & lt; / content & gt;   

अगर, मैं सामग्री के मूल्य को

& amp; lt;! [सीडीएटीए [कृपया इसे एक अपरिवर्तनीय सीडीएटीए टैग के अंदर दिखाएं]] & amp; gt;

सोचो कि मैं क्या चाहता था को प्राप्त करने के लिए ????

यहां मेरा कोड है

  आयात करें javax.ws.rs.GET; आयात javax.ws.rs.Path; आयात javax.ws.rs.PathParam; आयात javax.ws.rs.produces; आयात javax.ws.rs.core.MediaType; @Path ( "/ myRequest") सार्वजनिक वर्ग MyRestClass {@GET @Path ( "{myPathNumber}") @Produces ({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) सार्वजनिक वस्तु doInquiry (@PathParam ( "myPathNumber") स्ट्रिंग myPathNumber) {प्रयास करें {नई MyObject लौटें}; } पकड़ (अपवाद ई) {वापसी "अपवाद" + ई। मेगास (); }}}   
  पैकेज org.openengine.wink; आयात javax.xml.bind.annotation.XmlElement; आयात javax.xml.bind.annotation.XmlRootElement; आयात करें org.eclipse.persistence.oxm.annotations.XmlCDATA; @ XmlRootElement सार्वजनिक वर्ग MyObject सीरियलज़ेबल {@XmlElement @ XmlCDATA प्राइवेट स्ट्रिंग सामग्री को लागू करता है = "कृपया इसे एक अपूर्ण CDATA टैग के अंदर दिखाएं"; }   

पैकेज org.openengine.wink मेरे पास एक फ़ाइल है, jaxb.properties , निम्न सामग्री के साथ

  javax.xml.bind.context.factory = org.eclipse.persistence.jaxb.JAXBContextFactory    


METADATA

आपके द्वारा प्रदान किया गया मेटाडेटा सही प्रतीत होता है। यह निम्नलिखित स्टैंडअलोन डेमो कोड से सत्यापित किया जा सकता है।

MyObject

डिफ़ॉल्ट रूप से संपत्ति पर मेटाडेटा देखने के लिए (गेटर / सेटर) जब से तुम क्षेत्र टिप्पणी किए गए मैं @XmlAccessorType (XmlAccessType.FIELD एनोटेशन का उपयोग कर की सिफारिश करेंगे (देखें:।) <पूर्व वर्ग = "lang-जावा prettyprint-ओवरराइड"> <कोड> पैकेज org.openengine.wink; आयात java.io.Serializable; आयात javax.xml.bind.annotation *;। आयात org.eclipse.persistence.oxm.annotations.XmlCDATA; @XmlRootElement @XmlAccessorType (XmlAccessType.FIELD) सार्वजनिक वर्ग MyObject Serializable {@XmlElement @XmlCDATA निजी स्ट्रिंग सामग्री = "कृपया एक नहीं छोड़ा जाएगा CDATA टैग के अंदर यह दिखाने";} लागू करता है

jaxb.properties

अपने जेएसीएबी प्रदाता के रूप में एमओसी को निर्दिष्ट करने के लिए आपको अपने क्लासपाथ पर ईक्लीपसलिंक बायनेरिज़ की आवश्यकता है और निम्न एंट्री के साथ अपने डोमेन मॉडल के समान पैकेज में jaxb.properties नाम की एक फाइल है।

  javax.xml.bind.context.factory = org.eclipse.persistence.jaxb.JAXBContextFactory   

डेमो

  पैकेज org.openengine.wink; आयात javax.xml.bind। *; सार्वजनिक वर्ग डेमो {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] args) अपवाद फेंकता है {JAXBContext jc = JAXBContext.newInstance (MyObject.class); MyObject myObject = नया MyObject (); मार्शलर मार्शलर = जे.सी.केरे मार्शलर (); Marshaller.setProperty (मार्शलर। JAXB_FORMATTED_OUTPUT, सत्य); मार्शलर। मार्शल (myObject, System.out); }}   

आउटपुट

  & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "UTF-8" & gt; & LT; myObject & gt; & Lt; सामग्री & gt; & lt;! [CDATA [कृपया इसे एक अपठित सीडीएटीए टैग के अंदर दिखाएं]] & gt; & lt; / content & gt; & Lt; / myObject & gt;   

अधिक जानकारी के लिए



Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -