我正在尝试从 jsp 创建一个 xml 文件。 这是我的GenerateXml.java 文件。它位于 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;
}
}
我在 sap_workshop 文件夹中有一个 Workshop_html_snippet.jsp 文件。 该文件是:
<?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>
当我编译java文件时,它没有显示任何错误,但是当我执行时,我收到以下错误:
线程“main”中出现异常 java.lang.NoClassDefFoundError:GenerateXml(错误名称:MyPackage/GenerateXml)
在 java.lang.ClassLoader.defineClass1( native 方法)
在 java.lang.ClassLoader.defineClass(ClassLoader.java:621)
在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
在 java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
在 java.net.URLClassLoader.access$100(URLClassLoader.java:56)
在 java.net.URLClassLoader$1.run(URLClassLoader.java:195)
在 java.security.AccessController.doPrivileged( native 方法)
在 java.net.URLClassLoader.findClass(URLClassLoader.java:188)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:252)
在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
谢谢。
最佳答案
你需要像这样定义你的bean
<jsp:useBean id="xml" scope="page" class="MyPackage.GenerateXml"/>
并确保您的类位于类路径中。
堆栈跟踪是由于 Bean 名称格式错误造成的。格式为:
package.BeanName
关于java - 从jsp创建xml文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045662/