2

我们通常在 java 类中创建方法,将它们导入到 jsp 文件中,然后在我们的 jsp 文件中调用这些方法。

但是我们在客户端环境中工作,我们无权创建或修改 .java 文件。所以我们迫切需要在一个jsp文件中创建一个函数,并从另一个jsp文件中调用它。

例如:

一个jsp

.....
<jsp:include page="B.jsp"/>
....
<%= getName(); %>

B.jsp ....

<%!
public String getName()
{
 return "Hello";
}
>%

有没有办法做到这一点?

4

4 回答 4

6

是的,你可以,而不是

<jsp:include page="B.jsp"/>

利用

<%@include file="B.jsp"%>

包含页面只会嵌入两个jsp代码,因此您不会获得该功能,但包含使用指令的文件将首先嵌入代码然后编译,因此您将获得您的功能。

你可以在这里找到不同之处

<jsp:include page = ... > 和 <%@ include file = ... > 有什么区别?

于 2013-09-16T08:49:28.477 回答
6

Jsp您不应该在文件中创建函数。JSP 仅用于查看目的。

您可以单独编写函数并从您想要java class的任何页面调用该类。Jsp

于 2013-09-16T08:34:44.677 回答
0

以上评论均有效。但是,如果你必须这样做,我会通过将所有函数放在一个单独的文件中并调用它methods.inc然后将它包含在 jsp 文件中来改进它

<%@include file="methods.inc" %>

这将帮助您清楚地了解意图并看起来更清晰。

于 2013-09-16T09:12:11.107 回答
0

以上评论均有效。不要这样做。这是一个糟糕的设计。但是,如果您只是知道任何可能的方法,它可以使用 JSP 的静态包含。

您可以使用 <%@include %> 指令来包含 JSP 片段

<%@include file="B.jsp" %> 

在 A.jsp 中

好的设计是让您在 java 中创建一个类并在其中编写所有方法,将其包含在您的所有 JSP 中,并使用这些方法。

其他人对类似的问题感到困惑,例如如何将一个 JSP/HTML 中的 JS 函数调用到另一个 JSP/HTML,答案保持不变。好的设计是使用 .js 文件来编写所有 JS 方法。

于 2013-09-16T08:49:55.090 回答