我不太熟悉它在 JSP 中的工作原理
但是在
main.jsp 模板是这样的:
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>
<jsp:include page="/jsp/common_head.jsp"/>
然后在 common_head.jsp 中我们又得到了这个:
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>
有这个必要吗?
或者换句话说
taglib 声明是否传播到包含文件?
最佳答案
是的,这是必要的。在第一次执行之前,每个 JSP 文件都将单独转换/翻译/编译为独立的 Servlet
类。所有标签都将被翻译成“真正的”Java 代码/方法。如果您不声明标签库,那么 JSP 编译器就不知道它需要为特定标签生成/调用什么 Java 代码/方法。
以 Tomcat 为例,查看所有已编译 JSP 的 /work
文件夹。查看他们的来源,一切都会一目了然。
关于jsp - 在 JSP 中是否有必要在包含的文件中重新声明标记库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683109/