0

我已经开始学习 JSP,并尝试编写我的第一个 JSP 页面并使用<jsp:usebean/>操作标记。bean 是一个空类,没有属性,只有一个方法print()

package foo;
import java.io.Serializable;

public class FirstBean implements Serializable {
    public String print() {
        return "hello, world";
    }
}

我将FirstBean.java文件编译到位于WEB-INF/classes目录中的 foo 目录中。然后我有包含以下内容的FistBean.jsp文件:

   <html>
        <head>
             <jsp:usebean id="name" class="foo.firstBean"/>
        </head>
         <body>
            <! String st=name.Print();%>
            <p> the string stored in JSP is <%=st%></p>
        </body>
   </html>

在上面的代码中,我通过usebeanaction 实例化了 firstBean 实例。然后我调用它的print()方法,它应该返回一个字符串“Hello,world”。但是当我尝试输入localhost:8080/jsp/firstBean.jsp文件时,Tomcat 给了我以下错误:

消息 /firstBean.jsp(3,7) 无效的标准操作

描述 服务器遇到一个内部错误,阻止它完成这个请求。

我得到以下异常:

org.apache.jasper.JasperException: /firstBean.jsp(3,7) 无效的标准操作 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) org.apache.jasper.compiler.ErrorDispatcher.dispatch( ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88) org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1131) org.apache.jasper.compiler。 Parser.parseElements(Parser.java:1424) org.apache.jasper.compiler.Parser.parse(Parser.java:130) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255) org.apache。 jasper.compiler.ParserController.parse(ParserController.java:103) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache。jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org. apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 260)javax.servlet.http.HttpServlet.service(HttpServlet.java:723)313)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)javax.servlet.http.HttpServlet.service(HttpServlet.java:723)313)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

如果有人可以帮助我解决这个问题,将不胜感激。

4

1 回答 1

0

JSP 代码的正确语法是百分号

      <% String st=name.Print();%>
于 2018-01-28T16:07:48.547 回答