2012-08-07 75 views
2

下面是我在JAXB Unmarshalling过程中使用的JAXB绑定类。现在是否可以在JAXB绑定类中内置ServletContext注释?

package com; 

@XmlRootElement(name = "request") 
@XmlAccessorType(XmlAccessType.FIELD) 
public class CustAcct { 

    @XmlAttribute 
    private String cust; 

    @XmlAttribute 
    private String acct; 



    public CustAcct() { 

     super(); 
    } 

    public String getCust() { 

     return cust; 
    } 

    public void setCust(String s) { 

     cust = s; 
    } 

    public String getAcct() { 

     return acct; 
    } 

    public void setAcct(String s) { 

     acct = s; 
    } 

} 

我的问题是,我不能包括注释@Context ServletContext的上述类中。

public class CustAcct { 

    @XmlAttribute 
    private String cust; 


    @XmlAttribute 
    private String acct; 

       @Context 
    ServletContext cont ; 

我得到的例外,与此消息

javax.servlet.servletcontext is an interface and jaxb can't handle interfaces 

请让我知道,如果是有可能有JAXB绑定类中内置的ServletContext的注解?

在此先感谢。

我试过这种方式,

@XmlRootElement(name = "request") 
@XmlAccessorType(XmlAccessType.FIELD) 
public class CustAcct { 

    @XmlAttribute 
    private String acct; 

    @XmlTransient 
    @Context 
    ServletContext con; 

    public CustAcct() { 

     super(); 
    } 

    public String getAcct() { 
    return acct; 
    } 

    public void setAcct(String s) { 
    acct = s; 
    } 

} 

但我正在逐渐当我试图访问它泽西岛Service中

SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container 
java.lang.NullPointerException 
+0

容器不能注入'ServletConext'到域对象。如果您必须在ServletContext的域对象上做任何事情,您必须在Servlet的方法或JAX-RS资源的方法中执行此操作。 – 2012-08-10 14:49:28

回答

相关问题