我想构建一个函数来实现:
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/