XStream.fromXML in a JSP page throwing CannotResolveClassException

View: New views
2 Messages — Rating Filter:   Alert me  

XStream.fromXML in a JSP page throwing CannotResolveClassException

by someuser :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I have this existing code in JSP (that I am trying to use fromXML) directly inside the JSP page (that is one of the requirements, I am not allowed to use Servlets, only JSPs, I know JSP gets compiled into a Servlet).

I have done the following:

<%@ page import="com.thoughtworks.xstream.XStream"%>
<%@ page import="com.thoughtworks.xstream.io.xml.DomDriver"%>
<%@ page import="com.thoughtworks.xstream.annotations.XStreamAlias"%>
<%@ page import="com.thoughtworks.xstream.annotations.XStreamAsAttribute"%>

<%!
@XStreamAlias("InstanceParameter")
public static class InstanceParameter {
    @XStreamAlias("ID") @XStreamAsAttribute
    public String id;
    @XStreamAlias("Value") @XStreamAsAttribute
    public String value;
}
%>

<%

InstanceParameter testA = new InstanceParameter();
testA.id = "Hello";
testA.value = "World";


// This works. Returns <InstanceParameter ID="Hello" Value="World" />
XStream stream = new XStream(new DomDriver());
stream.processAnnotations(InstanceParameter .class);
stream.toXML(testA);

// This does not work. 
stream.fromXML("<InstanceParameter ID=\"Hello\" Value=\"World\" />");
%>


The exception I am getting is the following:
com.thoughtworks.xstream.mapper.CannotResolveClassException: org.apache.jsp.rulesTranslator_jsp$InstanceParameter : org.apache.jsp.rulesTranslator_js
$InstanceParameter
        at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:68)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:71)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:86)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:96)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
        at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:52)
        at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:136)
        at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
        at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
        at com.thoughtworks.xstream.XStream.fromXML(XStream.java:845)
        at org.apache.jsp.rulesTranslator_jsp$RuleExtractor.getSaveRuleXML(rulesTranslator_jsp.java:955)
        at org.apache.jsp.rulesTranslator_jsp$RuleExtractor.process(rulesTranslator_jsp.java:1148)
        at org.apache.jsp.rulesTranslator_jsp._jspService(rulesTranslator_jsp.java:1229)


Any help is appreciated. I am really puzzling, it works fine in Normal Java, but within a JSP page it doesn't (Just the fromXML part)

Re: XStream.fromXML in a JSP page throwing CannotResolveClassException

by Jörg Schaible-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Mohamed,

Mohamed Mansour wrote:

> Hello,
>
> I have this existing code in JSP (that I am trying to use fromXML)
> directly inside the JSP page (that is one of the requirements, I am not
> allowed to use Servlets, only JSPs, I know JSP gets compiled into a
> Servlet).

[snip]

Can you please use the user's list for this type of questions?

Thanks,
Jörg


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email