【问题标题】:Does Spring MVC 3.x support partial views (html/jsp) like that of ASP.NET MVC3/4?Spring MVC 3.x 是否支持像 ASP.NET MVC3/4 那样的部分视图(html/jsp)?
【发布时间】:2013-06-08 03:11:05
【问题描述】:

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 是否可以像灰尘一样开源?

【问题讨论】:

    标签: java spring-mvc twitter-bootstrap angularjs dust.js


    【解决方案1】:

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

    因此,在 jsp 上等价于 &lt;span id="logindisplay"&gt;@Html.Partial("_LogOnPartial")&lt;/span&gt; 将是以下之一/全部

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

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

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

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

    希望这会有所帮助。

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

    【讨论】:

    • 嗨阿克谢!一切都在美元上。非常非常有帮助。感谢清晰简洁的总结! =)
    • 欣赏@JaJ 的评论。乐意效劳。如果您认为这回答了您的问题,请接受我的回答。
    • 有人查看了我的答案并想将 JEE 更​​改为“Java EE”。对不起,我不明白为什么。 JEE 是一个标准的缩写,就像 JSE。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多