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

在JSP中调用Java类

姚骁
2023-03-14

我已经做了相当多的研究,从我所看到的来看,我一切都是正确的。我试图在JSP文件中调用一个Java类。每次运行时,我都会出现以下错误:

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

An error occurred at line: 25 in the jsp file: /3680-HW4-Taylor-Jacob/HTML/main.jsp
DateAssistant.formatDate cannot be resolved to a type
22:             out.println("Welcome, " + request.getParameter("usrname") + "!");
23:             
24:             if (timezone.equalsIgnoreCase("United States")){
25:             out.write("

You logged in on: " + new DateAssistant.formatDate(gc, timezone) + "

我有类文件在正确的位置(WEB-INF/类/Wu/andy/DateAssistant.class),我已经从我看到的东西中正确导入了。这是我的JSP源代码:

<%@ page import="java.util.GregorianCalendar, wu.andy.*" %>
<%
    String interest = request.getParameter("interest");
    String password = request.getParameter("password");
    GregorianCalendar gc = new GregorianCalendar();
    int tz = 0;
    String timezone = request.getParameter("country");

    if(password.equals("JTaylor")){
        if(interest.equals("music")){
            response.sendRedirect("music.html");
        } 
        else if(interest.equals("games")){
            response.sendRedirect("games.html");
        } 
        else if(interest.equals("movies")){

            out.write("<html>");
            out.write("<head/>");
            out.write("<body>");
            out.write("<h1 style='color:green'>Movies Galore :: User Main Page</h1>");
            out.println("Welcome, " + request.getParameter("usrname") + "!");

            if (timezone.equalsIgnoreCase("United States")){
            out.write("<p>You logged in on: " + new DateAssistant.formatDate(gc, timezone) + "</p><br/><br/>");

            }
            out.write("<a href='movies.html'>Browse Movies Catalog</a>");


        }
    } else{
        response.sendRedirect("login.html");
    }
%>

我知道我的代码不是“良好实践”,但这是我的教授想要的。

任何帮助都将不胜感激!

共有2个答案

卢杰
2023-03-14

您的JSP行:

        out.write("<p>You logged in on: " + new DateAssistant.formatDate(gc, timezone) + "</p><br/><br/>");

使用DateAssistant旁边的new关键字。formatDate()。除非这是一个公共内部类,否则我认为这是一个静态方法,在这种情况下,您应该删除new

庾才
2023-03-14

看起来您忘记在jsp头中导入DateAssistant类了。

<%@ page import="java.util.GregorianCalendar, wu.andy.*, XXXXX.DateAssistant" %>
 类似资料:
  • 我正在尝试将一个jsp表单放入fancybox,我的站点功能正常,所以我知道我的大部分配置都是正确的。我还做了一个图像的样例测试,它工作得很好,但是对于一个表单,我有问题。下面是代码:

  • 尝试从我的Web应用程序中使用编译的JSP,但我不知道如何为我的确定合适的类名,我将文件放在 每当我尝试使用/context root/dbx调用我的应用程序时,我都会得到: 我的网站。xml包含基本的servlet映射 如果我更改<代码> 错误500:java。lang.NoClassDefFoundError:\u db(错误名称:com/ibm/\u jsp/\u db) 运行 /opt/I

  • 我在从文件调用Java方法时遇到问题。我将我的项目转换为Maven,但仍然存在同样的问题。 我的文件位于中 并且我想从这个类中调用方法 而这个类 但当我尝试加载a页时,出现了这个错误 VI 11,2015年8:47:28 ODP。StandardWrapperValve调用严重:路径为[/db-ReagenCII]的上下文中servlet[jsp]的servlet.service()引发异常[/r

  • 问题内容: 我想将sql:query换成一些Java代码,该代码用几个参数构建一个复杂的查询。当前的sql是一个简单的选择。 如何获取我的Java ResultSet(即rs = stmt.executeQuery(sql);)并使结果可在我的JSP中使用,以便可以使用此教科书JSP? 更清楚地说,我想删除上面的查询并将其替换为Java。 我应该在Java部分中设置session / page变量

  • 我所要做的就是从我的服务器调用我的Java代码。jsp页面。我写了一些。一个webapp的jsp页面,但随着项目的发展,我想开始将一些代码放入其中。java类或servlet。 为什么Eclipse不能“看到”my/src或/lib/web或/WebContent或/WebContent/src或/WebContent/web-INF/lib或/WebContent/web-INF/src中的所有

  • 问题内容: 我是JSP的新手。我尝试连接MySQL和我的JSP页面,并且工作正常。但是这是我需要做的。我有一个名为“ balance”的表格属性。检索它并使用它来计算一个称为“金额”的新值。(我不是在打印“余额”)。 似乎不可能在JSTL标签中插入scriptlet。 问题答案: 你不能直接在EL中调用静态方法。EL将仅调用实例方法。 对于失败的scriptlet尝试,你不能混合scriptlet