java - 是否可以创建一个集成 include 指令的函数? Java-JSP

标签 java jsp include directive

我想构建一个函数来实现:

void MyIncludeCompile(String TheFile) {
  "%><%@include file="+TheFile+"%><%";
}

我想获得一个替代方法来包含构建我自己的方法或函数的指令。

类似于:

org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, TheFile, out, false);

但是,它适用于某些东西:

void MyIncludeRun(String TheFile) {
  %><jsp:include page="+TheFile+"/><%";
}

换句话说,在翻译时间而不是运行时间。 如你看到的: 运行时的 include 操作 具有使用纯 Java 代码的等效操作。

是否有替代include指令的方法?

最佳答案

我的回答是否定的。您可以实现自己的包含标签,例如 <my:include file="theFile"/>并将自己的逻辑放入标签处理程序类中,但不能在翻译时执行。在翻译时,JSP 被转换为常规 java 文件 - 转换为 Servlet 的子类更准确地说。只有指令(和声明)可以对 servlet 类进行任何更改(scriptlet 和表达式将代码放入服务方法,标记在运行时处理)。我不知道 JspRuntimeLibrary 的实现细节,但由于 include 方法的签名包含请求和响应对象,我认为它也包含运行时的资源。

关于java - 是否可以创建一个集成 include 指令的函数? Java-JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18936116/

相关文章:

javascript - 使用其他脚本文件 Meteor 中的脚本文件的正确方法是什么?

java - 将 MySQL 转储文件导入到 SQLite

java - 无法通过模型属性名称与表单属性名称相同的 GET 方法打开 JSP 表单页面

java - 如何将数据从 JSP 中的表传递到 Java Controller ?

java - 将一个类从一个jsp页面导入到另一个jsp页面

css - 如何在多个jsp中包含css?

java - 无法创建新文件 : The device is not ready

java - 如何检查HttpClient中是否使用了代理以及如何关闭代理?

java - 从 jar(war/ear) 获取依赖项?

c# - 如何在 Entity Framework 中包含排序的导航属性