当前位置: 首页 > 知识库问答 >
问题:

类不能解析为类型(jsp)

公冶谦
2023-03-14

我对JSP是新手。我正在学习useBean方法,在

http://www.studytonight.com/jsp/getproperty-tag.php

<html>
<head>
    <title>Welcome Page</title>
</head>
<jsp:useBean id="person" type="PersonBean" scope="request"/>   <body>
    Hello,  <jsp:getProperty name="person" property="name"/>      </body> </html>
import java.io.Serializable;
public class PersonBean implements Serializable
{
 private String name="Hello World";
    public PersonBean()
   {
    this.name="Hello";
   }
   public void setName(String name)
   {
    this.name = name;
   }
   public String getName()
   {
    return name;
   }
}

我得到了一个错误:在jsp文件中:/hello1的第5行发生了一个错误。jsp PersonBean无法解析为类型

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

An error occurred at line: 5 in the jsp file: /hello1.jsp
PersonBean cannot be resolved to a type
2:     <head>
3:         <title>Welcome Page</title>
4:     </head>
5:     <jsp:useBean id="person" type="PersonBean" scope="request"/>
6:   <body>
7:         Hello,  <jsp:getProperty name="person" property="name"/>   
8:   </body>


An error occurred at line: 5 in the jsp file: /hello1.jsp
PersonBean cannot be resolved to a type
2:     <head>
3:         <title>Welcome Page</title>
4:     </head>
5:     <jsp:useBean id="person" type="PersonBean" scope="request"/>
6:   <body>
7:         Hello,  <jsp:getProperty name="person" property="name"/>   
8:   </body>


An error occurred at line: 7 in the jsp file: /hello1.jsp
PersonBean cannot be resolved to a type
4:     </head>
5:     <jsp:useBean id="person" type="PersonBean" scope="request"/>
6:   <body>
7:         Hello,  <jsp:getProperty name="person" property="name"/>   
8:   </body>
9: </html>


An error occurred at line: 7 in the jsp file: /hello1.jsp
PersonBean cannot be resolved to a type
4:     </head>
5:     <jsp:useBean id="person" type="PersonBean" scope="request"/>
6:   <body>
7:         Hello,  <jsp:getProperty name="person" property="name"/>   
8:   </body>
9: </html>


Stacktrace:
  org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
  org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
  org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:490)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:379)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
  org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:662)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.70 logs.

共有1个答案

刘狐若
2023-03-14

jsp:useBean动作标记:

<jsp:useBean id= "instanceName" scope= "page | request | session | application"   
    class= "packageName.className" type= "packageName.className"  
    beanName="packageName.className | <%= expression >" >  
 </jsp:useBean>

1.将PersonBean类放在包中,以便能够在其他类中使用该类。默认包中的类对于包中的类是不可见的。

2.将.class文件放在WEB-INF/classes中。

package com.person;

import java.io.Serializable;

    public class PersonBean implements Serializable {

        private String name="Hello World";
        public PersonBean()
       {
        this.name="Hello";
       }
       public void setName(String name)
       {
        this.name = name;
       }
       public String getName()
       {
        return name;
       }
    }

person.jsp

<html>
<head>
    <title>Welcome Page</title>
</head>
<jsp:useBean id="person" class="com.person.PersonBean" scope="request"/>    
 Hello, <jsp:getProperty name="person" property="name"/>  
</html>
 类似资料:
  • 我有一个jsp proyect作为表示层来显示来自java类的函数的结果(一个简单的字符串)。该类位于src目录中。 我没有用Eclipse创建这些类。它们来自另一个项目,但它们都放在src目录中(java类的位置)。jsp似乎无法识别它们。

  • 我试图寻找此错误的解决方案,但仍然无法使用类,因此我尝试手动进行导入,但只能看到三个类、和。 在中查看时,我可以看到文件,在打开JAR时,我还可以看到类pattern.class。 有人能帮助Eclipse为什么看不到这个类吗?

  • 我想在eclipse IDE中使用Java编写1.18.2 Minecraft插件。我很确定我正在使用最新版本。我正在使用教程,当它说要把这个放进去时: 在JavaPlugin下面显示了一条红线,它说它不能被解析为一个类型。我应该导入这个: 导入组织。巴基特。插件。JAVAJavaPlugin 我在谷歌上搜索到的每一句话都把这个插口罐放在了项目属性中

  • 问题内容: 这是我得到的错误: 这是我的代码: 另外,我在一个单独的类中声明了这一点: 是什么导致此错误,我该如何解决? 编辑:缩进,空格,命名约定和可读性问题已得到解决。 问题答案: 问题在于,这似乎是一个内部类(很难说,您的缩进是不好的),并且由于它不是静态的,因此您无法单独实例化它。 您要么需要自己创建一个类,要么使其成为一个类并将其实例化为(或者无论父类是什么,您的缩进在这里实际上都没有帮

  • 我试图编译一个从SourceForge得到的仍在开发中的项目。这是它的地址:。https://sourceforge.net/p/groove/code/5475/tree/groove/trunk/我知道这个项目经过了很好的验证,它没有任何错误,但是当我要编译它的时候,我遇到了这个编译错误: 错误在这个文件的第370行:https://sourceforge.net/p/groove/code/