4

Q1:Spring 或任何开源 java UI 框架是否支持像 asp.net mvc 中的部分视图?

例如在我的主要 index.html (或 _layout.cshtm 每个 asp.net mvc3 规范)

我会有以下代码:

<span id="logindisplay">@Html.Partial("_LogOnPartial")</span>

其中@Html 是显示_LogonPartial.cshtml 的部分视图的助手,它刚刚将其html 视图内容注入页面?

Q2:如果这是假设如果我想显示一堆局部视图,并行显示它们会有助于提高性能。非常类似于linkedin使用灰尘和泡沫所做的事情? http://engineering.linkedin.com/profile/engineering-new-linkedin-profile

Q3:fizzy 是否可以像灰尘一样开源?

4

1 回答 1

11

如果你想将一个页面的内容包含到另一个页面中,通过在页面本身上添加一些代码,你应该比较asp,而jsp不是-ASP.NET MVC*JEESpring MVC

因此,等效于<span id="logindisplay">@Html.Partial("_LogOnPartial")</span>on a jsp 将是以下之一/全部

  1. 在您的 jsp 上,使用<%@ include file="../includes/inner-content.jsp" %>. 这就是所谓的静态包含。在编译jsp之前,包含的jsp的源代码被包含并成为父jsp的一部分。如果您使用 IDE,它将检查以确保包含的 jsp 确实存在于指定的路径中,相对于您添加包含的 jsp 的位置。从技术上讲,这是一个JSP Directive. 包含的 jsp 可能只是一个片段,并且无法从外部世界寻址(可能隐藏在内部WEB-INF

  2. 您还可以使用所谓的动态包含<jsp:include page="someJSP.jsp" />。在这种情况下,包含的JSP内容应该可以从浏览器中寻址,并且应该能够独立呈现。服务端在执行servlet渲染父jsp时,看到这个标签就停止,并开始为包含的jsp执行servlet,然后将内部jsp执行得到的输出合并到父jsp的输出中,并恢复父 jsp 的处理。

  3. 第三种选择是使用Core JSTLtaglib 的<c:import url=""/>. 这就像上面的选项 2 一样,除了它还允许您从位于应用程序之外的 url 导入页面/内容。基本上,您可以提及 jsp 的路径,或应用程序中 servlet 映射的相对 URI,或外部页面的 URL。

现在,如果您与 Linkedin 正在做的事情进行比较,我怀疑这并不是您真正想要做的事情。您希望mashup从您自己的应用程序中的源获取内容,并编写您的页面。您还希望以异步方式执行此操作,以控制加载时间。在这种情况下,您必须使用 JavaScript 和 Ajax。上述所有机制都适用于服务器呈现的页面(所有 HTML 都是在页面在浏览器中呈现之前创建的)。就像@HTML. 您需要创建一个简单的框架/使用现有的框架,一旦页面加载,它会触发对服务器的异步 ajax 调用,以获取页面上特定区域的内容,并在这些特定区域呈现返回的 HTML。

希望这可以帮助。

如果我误解了你的问题,请告诉我。

于 2013-06-12T07:03:43.957 回答