1

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ファイルをコンパイルすると、エラーは表示されませんが、実行すると次のエラーが発生します。 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)

ありがとうございました。

4

1 に答える 1

1

そのようにBeanを定義する必要があります

<jsp:useBean id="xml" scope="page" class="MyPackage.GenerateXml"/>

クラスがクラスパスにあることを確認してください。

スタック トレースは、Bean 名の形式が正しくないためです。形式は次のとおりです。

package.BeanName 
于 2012-08-20T21:52:08.047 に答える