简体   繁体   English

从jsp创建xml文件时出错

[英]error while creating an xml file from jsp

I am trying to create an xml file from jsp. 我正在尝试从jsp创建xml文件。 This is my GenerateXml.java file. 这是我的GenerateXml.java文件。 It is located in sap_workshop/WEB-INF/src/MyPackage. 它位于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. 我在sap_workshop文件夹中有一个workshop_html_snippet.jsp文件。 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) 当我编译Java文件时,它不显示任何错误,但是当我执行时,我得到以下错误: 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. 谢谢。

You need to define your bean like so 您需要像这样定义您的bean

<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. stacktrace是格式错误的bean名称的结果。 The format is: 格式为:

package.BeanName 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM