[Java lista] JAXB & @XmlAttribute
Avramucz István
avramucz at gmail.com
2010. Jún. 1., K, 16:39:25 CEST
Hello!
Az alábbiakban felvázolt osztályokat a következő módon használom JAX-RS
esetén:
@POST
@Path("/addidopont")
@Produces("application/xml")
public ValidationError addIdopont(...) {
List<Error> errorList = new ArrayList<Error>();
if (...) {
errorList.add(new Error("kezdDatum","Helytelen dátum!"));
}
...
return new ValidationError(errorList);
}
Ez szĂ©pen előállĂtja a kĂvánt struktĂşrát (nem XML-t :D ), kivĂ©ve a
<message success="false"> elemet. :(
AI
2010-06-01 15:57 keltezĂ©ssel, Verhás István Ărta:
> Mindig csak a kifogások :-)
> Mi jaxb Ăşgy szoktunk használni, hogy XSD-t kĂ©szĂtĂĽnk Ă©s utána a jaxb
> generálja ezeket az annotált osztályokat. Ennek az az egyszerű oka,
> hogy az IDE támogatás jobb az XSD-re mint a jaxb annotációkra, meg
> talán jobban is átlátható.
> ĂĽdv
> vi
>
> Zsombor wrote:
>> Nem beszélve a sehol sem használt Message belső osztályról :)
>>
>> Zs
>>
>> 2010/6/1 István Viczián <viczian.istvan at gmail.com
>> <mailto:viczian.istvan at gmail.com>>
>>
>> Szia!
>>
>> Ez nem XML, mert nem egy root tag van!
>>
>> Viczi
>>
>> 2010/6/1 Avramucz István <avramucz at gmail.com
>> <mailto:avramucz at gmail.com>>:
>> > Hello javalist!
>> >
>> > JAXB annotáciĂłk segĂtsĂ©gĂ©vel szeretnĂ©m előállĂtani a következĹ‘
>> XML-t:
>> >
>> > <?xml version="1.0" encoding="UTF-8"?>
>> > <message success="false">
>> > <errors>
>> > <field>
>> > <fieldID>befIdo</fieldID>
>> > <msg>Helytelen időpont!</msg>
>> > </field>
>> > </errors>
>> >
>> > import java.util.ArrayList;
>> > import java.util.List;
>> > import javax.xml.bind.annotation.XmlAccessType;
>> > import javax.xml.bind.annotation.XmlAccessorType;
>> > import javax.xml.bind.annotation.XmlAttribute;
>> > import javax.xml.bind.annotation.XmlElement;
>> > import javax.xml.bind.annotation.XmlRootElement;
>> >
>> > @XmlRootElement(name = "errors")
>> > public class ValidationError {
>> >
>> > @XmlAccessorType(XmlAccessType.FIELD)
>> > class Message {
>> > @XmlAttribute
>> > private Boolean success = false;
>> > }
>> >
>> > @XmlElement
>> > protected ArrayList<Error> field;
>> >
>> > public ValidationError() {
>> > }
>> >
>> > public ValidationError(List<Error> list) {
>> > field = new ArrayList<Error>();
>> > for (Error error : list) {
>> > field.add(error);
>> > }
>> > }
>> >
>> > public ArrayList<Error> getErrors() {
>> > return field;
>> > }
>> >
>> > }
>> >
>> >
>> > import javax.xml.bind.annotation.XmlElement;
>> > import javax.xml.bind.annotation.XmlRootElement;
>> >
>> > @XmlRootElement(name = "field")
>> > public class Error {
>> >
>> > private String fieldID;
>> > private String msg;
>> >
>> > public Error() {
>> > }
>> >
>> > public Error(String fieldID, String msg) {
>> > this.fieldID = fieldID;
>> > this.msg = msg;
>> > }
>> >
>> > @XmlElement
>> > public String getFieldID() {
>> > return fieldID;
>> > }
>> >
>> > public void setFieldID(String fieldID) {
>> > this.fieldID = fieldID;
>> > }
>> >
>> > @XmlElement
>> > public String getMsg() {
>> > return msg;
>> > }
>> >
>> > public void setMsg(String msg) {
>> > this.msg = msg;
>> > }
>> > }
>> >
>> > Sajnos a <message success="false"> elemet nem sikerĂĽl
>> előállĂtanom a fenti
>> > mĂłdszerrel. Mit javasoltok?
>> >
>> > AI
>> > _______________________________________________
>> > Javalist mailing list
>> > Javalist at javagrund.hu <mailto:Javalist at javagrund.hu>
>> > http://javagrund.hu/mailman/listinfo/javalist
>> >
>> >
>> _______________________________________________
>> Javalist mailing list
>> Javalist at javagrund.hu <mailto:Javalist at javagrund.hu>
>> http://javagrund.hu/mailman/listinfo/javalist
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at javagrund.hu
>> http://javagrund.hu/mailman/listinfo/javalist
>>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20100601/73ba840b/attachment.html
További információk a(z) Javalist levelezőlistáról