如何在JSP中导入和使用包

时间:2015-04-16 11:55:13

标签: jsp

我是Java的新手,也是JSP的新手。我遇到的问题是将“out”对象分配给这样的方法

<%!
    public void printMe(javax.servlet.jsp.JspWriter out) throws java.io.IOException {
        out.println("Successfully printed");
    }
%>

所以我可以在scriptlet中用这样的东西简单地调用它

<% printMe(); %>

我知道这将要传递“out”对象,该对象通常在_jspservice()方法的范围内定义到名为“printMe()”的外部方法,该方法使用声明标记手动声明,其中“ out“无法直接访问对象。所以我们在那里提供它。

但是,我发现作为参数传递给手动声明的方法的“javax.servlet.jsp.JspWriter”可以用其他方式编写,如下所示

public void printMe(JspWriter out) {}

但在此之前,还有导入指令

<%@ page import="java.io.*" %>

我认为这只会缩短代码,因为我不再需要定义完整的“java.io.IOException”。所以我试着这样做

<%@ page import="java.io.*" %>

public void printMe(JspWriter out) throws IOException {
   out.println("successfully printed!");
}

现在代码不起作用,但是当我将“JspWriter”更改回“javax.servlet.jsp.JspWriter”时。所以这对我有用

<%@ page import="java.io.*" %>
public void printMe(javax.servlet.jsp.JspWriter) throws IOException {
    out.println("successfully printed!");
}

我不知道我的代码有什么问题,或者我必须导入其他软件包以使我能够正确使用“JspWriter”而不是完整的“javax.servlet.jsp.JspWriter”语句

非常感谢

1 个答案:

答案 0 :(得分:1)

将JSP标记更改为scriptlets标记

<%!
    public void printMe(javax.servlet.jsp.JspWriter out) throws java.io.IOException {
        out.println("Successfully printed");
    }
%>

<%
    public void printMe(javax.servlet.jsp.JspWriter out) throws java.io.IOException {
        out.println("Successfully printed");
    }
%>

在scriptlet标记中,您可以直接使用outsessionrequestresponse