1

検討:

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 10 in the jsp file: /index.jsp
Mybean cannot be resolved to a type
7: <title></title>
8: </head>
9: <body>
10: <jsp:useBean id="bean1" class="Mybean"/>
11: <jsp:setProperty name="bean1"
12:                     property="name"
13:                     value="bean1" />



An error occurred at line: 17 in the jsp file: /index.jsp
Mybean cannot be resolved to a type
14:     <jsp:setProperty name="bean1"
15:                     property="id"
16:                     value="1" />
17:                     <jsp:getProperty name="bean1" property="name" />
18:                         <jsp:getProperty name="bean1" property="id" />
19:
20: </body>

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Mybeanという名前のJavaクラスを作成しました。私はJSPを利用して属性を設定し、属性を取得しています。解決できないエラーが発生します。

4

1 に答える 1

2

JSP仕様から:

JSP 2.0 の時点では、名前のない (別名デフォルト) パッケージからクラスを参照することは違法です。

したがって、Bean にはパッケージ宣言が必要です。

package foo;
public class MyBean {}

パッケージはアプリケーション構造に反映されている必要があります。例えば:

WEB-INF/classes/foo/MyBean.class

タグでは修飾名を使用する必要があります。

<jsp:useBean id="bean1" class="foo.MyBean"/>
于 2013-01-21T11:13:19.867 に答える