如果你想将一个页面的内容包含到另一个页面中,通过在页面本身上添加一些代码,你应该比较asp
,而jsp
不是-ASP.NET MVC*
JEE
Spring MVC
因此,等效于<span id="logindisplay">@Html.Partial("_LogOnPartial")</span>
on a jsp 将是以下之一/全部
在您的 jsp 上,使用<%@ include file="../includes/inner-content.jsp" %>
. 这就是所谓的静态包含。在编译jsp之前,包含的jsp的源代码被包含并成为父jsp的一部分。如果您使用 IDE,它将检查以确保包含的 jsp 确实存在于指定的路径中,相对于您添加包含的 jsp 的位置。从技术上讲,这是一个JSP Directive
. 包含的 jsp 可能只是一个片段,并且无法从外部世界寻址(可能隐藏在内部WEB-INF
)
您还可以使用所谓的动态包含<jsp:include page="someJSP.jsp" />
。在这种情况下,包含的JSP
内容应该可以从浏览器中寻址,并且应该能够独立呈现。服务端在执行servlet渲染父jsp时,看到这个标签就停止,并开始为包含的jsp执行servlet,然后将内部jsp执行得到的输出合并到父jsp的输出中,并恢复父 jsp 的处理。
第三种选择是使用Core JSTL
taglib 的<c:import url=""/>
. 这就像上面的选项 2 一样,除了它还允许您从位于应用程序之外的 url 导入页面/内容。基本上,您可以提及 jsp 的路径,或应用程序中 servlet 映射的相对 URI,或外部页面的 URL。
现在,如果您与 Linkedin 正在做的事情进行比较,我怀疑这并不是您真正想要做的事情。您希望mashup
从您自己的应用程序中的源获取内容,并编写您的页面。您还希望以异步方式执行此操作,以控制加载时间。在这种情况下,您必须使用 JavaScript 和 Ajax。上述所有机制都适用于服务器呈现的页面(所有 HTML 都是在页面在浏览器中呈现之前创建的)。就像@HTML
. 您需要创建一个简单的框架/使用现有的框架,一旦页面加载,它会触发对服务器的异步 ajax 调用,以获取页面上特定区域的内容,并在这些特定区域呈现返回的 HTML。
希望这可以帮助。
如果我误解了你的问题,请告诉我。