如何在Jsp中调用Java类

use*_*501 10 java jsp

嗨我想尝试在jsp页面调用常规java类,并希望在我尝试做的时候在jsp页面上打印一些我没有得到任何输出

这是我的代码

MyClass.java

 package Demo;
 public class MyClass {
    public void testMethod(){
        System.out.println("Hello");
    }
 }
Run Code Online (Sandbox Code Playgroud)

test.jsp的

<%@ page import="Demo.MyClass"%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
  <jsp:useBean id="test" class="Demo.MyClass" />
  <%
   MyClass tc = new MyClass();
   tc.testMethod();
  %>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如何获得所需的输出?

MaV*_*SCy 10

您的代码中不需要JSP useBean声明.

只是用

<body>
<%
  MyClass tc = new MyClass();
  tc.testMethod();
%>
</body>
Run Code Online (Sandbox Code Playgroud)

但是这不会在JSP上打印任何内容.它只会Hello在服务器的控制台上打印.要Hello在JSP上打印,必须从helper java类返回一个String MyClass,然后使用JSP输出流来显示它.

像这样的东西:

在java类中

public String testMethod(){
    return "Hello";
}
Run Code Online (Sandbox Code Playgroud)

然后在JSP中

out.print(tc.testMethod());
Run Code Online (Sandbox Code Playgroud)