包含另一个 JSP 的自定义 JSP 标签
Custom JSP Tag which include another JSP
我想按如下方式创建自定义 JSP 标签。
<ng:template src="../js/Rule/templates/rule-list.jsp" />
这实际上会将文件“../js/Rule/templates/rule-list.jsp”包含在脚本标记中并生成 HTML,如下所示。
<script type="text/ng-template" id="../js/Rule/templates/rule-list.jsp">
Content of ../js/Rule/templates/rule-list.jsp file
</script>
到目前为止,我已经创建了以下标记文件。
<%@ attribute name="src" required="true" rtexprvalue="true" %>
<script type="text/ng-template" id="${src}">
<%@ include file="${src}" %>
</script>
出现此错误的原因
File "${src}" not found
意味着它试图包含 ${src} 的值。谁能建议如何根据指定的属性值将文件包含在标记文件中?
注意:我正在使用angularjs。我想在不调用 ajax 的情况下加载 angularjs 模板。因为我的浏览器无法加载 ng-template AJAX call for cross domain call problem.
WEB-INF
目录是一个特殊目录,它 不是 网络(Servlet)应用程序的 public 目录树的一部分。
Servlet Specification 状态(第 70 页左右):
A special directory exists within the application hierarchy named
“WEB-INF”. This directory contains all things related to the
application that aren’t in the document root of the application. The
WEB-INF node is not part of the public document tree of the
application. No file contained in the WEB-INF directory may be served
directly to a client by the container. However, the contents of the
WEB-INF directory are visible to servlet code using the getResource
and
getResourceAsStream
method calls on the ServletContext
, and may be
exposed using the RequestDispatcher calls.
AngularJS 无法在您的 Web 应用程序 WEB-INF 文件夹中看到任何文件夹,因为它没有 "connection"。
您必须将这些模板文件添加到 public 文件夹中,您的 Angular 模板文件可以查看这些文件。
知道了。我需要使用动态包含 as
<jsp:include page="${src}" />
这工作正常。
我想按如下方式创建自定义 JSP 标签。
<ng:template src="../js/Rule/templates/rule-list.jsp" />
这实际上会将文件“../js/Rule/templates/rule-list.jsp”包含在脚本标记中并生成 HTML,如下所示。
<script type="text/ng-template" id="../js/Rule/templates/rule-list.jsp">
Content of ../js/Rule/templates/rule-list.jsp file
</script>
到目前为止,我已经创建了以下标记文件。
<%@ attribute name="src" required="true" rtexprvalue="true" %>
<script type="text/ng-template" id="${src}">
<%@ include file="${src}" %>
</script>
出现此错误的原因
File "${src}" not found
意味着它试图包含 ${src} 的值。谁能建议如何根据指定的属性值将文件包含在标记文件中?
注意:我正在使用angularjs。我想在不调用 ajax 的情况下加载 angularjs 模板。因为我的浏览器无法加载 ng-template AJAX call for cross domain call problem.
WEB-INF
目录是一个特殊目录,它 不是 网络(Servlet)应用程序的 public 目录树的一部分。
Servlet Specification 状态(第 70 页左右):
A special directory exists within the application hierarchy named “WEB-INF”. This directory contains all things related to the application that aren’t in the document root of the application. The WEB-INF node is not part of the public document tree of the application. No file contained in the WEB-INF directory may be served directly to a client by the container. However, the contents of the WEB-INF directory are visible to servlet code using the
getResource
andgetResourceAsStream
method calls on theServletContext
, and may be exposed using the RequestDispatcher calls.
AngularJS 无法在您的 Web 应用程序 WEB-INF 文件夹中看到任何文件夹,因为它没有 "connection"。
您必须将这些模板文件添加到 public 文件夹中,您的 Angular 模板文件可以查看这些文件。
知道了。我需要使用动态包含 as
<jsp:include page="${src}" />
这工作正常。