Reputation: 21
I am trying to create an xml file from jsp. This is my GenerateXml.java file. It is located in sap_workshop/WEB-INF/src/MyPackage.
package MyPackage;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import java.lang.*;
import java.io.Serializable;
public class GenerateXml implements Serializable{
private String wDate="a";
public void setDate(String wDate) {
this.wDate = wDate;
}
public String getDate() {
return this.wDate;
}
}
I have a workshop_html_snippet.jsp file in sap_workshop folder. The file is:
<?xml version="1.0" encoding="UTF-8"?>
<%@ page contentType="text/xml %>
<jsp:useBean id="xml" scope="page" class="sap_workshop/WEB-INF/src/MyPackage.GenerateXml"/>
<Workshop>
<Scheduled>
<WorkshopDate><% out.print(xml.getDate()); %></WorkshopDate>
</Scheduled>
</Workshop>
When i compile the java file, it doesnot show any errors but when i execute i get following errors:
Exception in thread "main" java.lang.NoClassDefFoundError: GenerateXml (wrong name: MyPackage/GenerateXml)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Thank you.
Upvotes: 1
Views: 119
Reputation: 159874
You need to define your bean like so
<jsp:useBean id="xml" scope="page" class="MyPackage.GenerateXml"/>
and ensure that your class is in your classpath.
The stacktrace is as a result of the malformed bean name. The format is:
package.BeanName
Upvotes: 1