繁体   English   中英

如何在Jsp中调用Java类

[英]How to call Java class in Jsp

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

这是我的代码

MyClass.java

 package Demo;
 public class MyClass {
    public void testMethod(){
        System.out.println("Hello");
    }
 }

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>

如何获得所需的输出?

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

只是用

<body>
<%
  MyClass tc = new MyClass();
  tc.testMethod();
%>
</body>

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

像这样的东西:

在java类中

public String testMethod(){
    return "Hello";
}

然后在JSP中

out.print(tc.testMethod());

嗨正确使用你的班级名称

<%
 MyClass tc = new MyClass ();
        tc.testMethod();

  %>

代替

<%
 testClass tc = new testClass();
        tc.testMethod();

  %>

当你使用jsp:useBean时,它会在你的jsp转换servlet中创建一个名为id的新对象。

所以使用id本身来调用方法而不是再次创建新对象

只是为了完成所有的机会,你也可以使用<%= opertator:

<%
 MyClass tc = new MyClass ();
%>


<h1><%= tc.testMethod();  %> </h1>

只是为了恢复,关键点:

  1. 包含带有<%@ page import标签的类
  2. 像往常一样在.java行为中使用该类
  3. 使用out.print,<%=或jstl out标记打印数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM