Tomcat

时间:2018-01-28 15:58:35

标签: jsp javabeans usebean

我已经开始学习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 文件编译到foo目录中,该目录位于 WEB-INF / classes 目录中。 然后我有 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>

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

  

message /firstBean.jsp(3,7)标准操作无效

     

description服务器遇到阻止它的内部错误   完成此请求。

我得到以下异常:

  

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)

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

1 个答案:

答案 0 :(得分:0)

JSP代码的右syntax 是百分号

      <% String st=name.Print();%>