gpt4 book ai didi

java - 没有框架的复合 Web 应用程序

转载 作者:行者123 更新时间:2023-11-30 11:36:01 24 4
gpt4 key购买 nike

我构建了两个 Web 应用程序,我们称它们为 App1 和 App2。

App1 有多个页面(Page1.jsp 和 Page2.jsp)。 App1 是一个独立的应用程序,它有一个链接到两个页面的菜单。

App2 有多个页面(Page3.jsp 和 Page4.jsp)。 App2 也是一个独立的应用程序,它有一个链接到两个页面的菜单。

现在我想在不修改App1或App2的情况下将App1和App2组合成一个 super 应用程序。这个 super 应用程序应该有一个链接到 App1/Page1.jsp、App1/Page2.jsp、App2/Page3.jsp 和 App2/Page4.jsp 的菜单。

我想到了几种方法来做到这一点:

解决方案 1:框架

我可以创建一个菜单框架,其中有一个链接到 App1 和 App2 页面的菜单。

我可以有一个单独的框架,用于显示 App1 和 App2 的内容。

但是,我不热衷于使用框架 ( http://www.html-faq.com/htmlframes/?framesareevil )。

方案二:根据URL参数动态构建菜单

super 应用程序可以有一个基于 div 的菜单,它链接到 App1 和 App2。它可以在 URL 上传递参数,例如App1/Page1.jsp?parent=SuperApp.

App1和App2可以根据parent参数动态构建菜单。

例如,如果 parent 参数不存在,则 App1 将使用其链接到 Page1.jsp 和 Page2.jsp 的正常菜单。

但是,如果存在 parent 参数,则 App1 将使用 SuperApp 菜单 (SuperApp/header.html) - 它会动态地将此 HTML 包含在 JSP 页面中。这个 SuperApp 菜单将链接到 App1 和 App2 中提供的所有页面。

第二个解决方案在不使用框架的情况下也能工作,但我想探索是否还有其他我没有考虑过的解决方案?

最佳答案

让第三个 Web 应用程序负责菜单怎么样:

enter image description here

在每个页面中配置一个非常小的 JavaScript 组件,该组件对菜单应用程序进行 AJAX 调用以填充它。通常这会用一个空的 <div> 来实现。具有特殊类别或 ID。您还有一个定位 <div> 的脚本(从 MenuApp 下载)并添加菜单。

一些想法:

  • 最简单的实现是 MenuApp 使用 servlet config 来配置菜单选项。更灵活的方法可以使用 SQL 或 NoSQL 数据库
  • 参数化调用,其中调用页面可以调用菜单上下文(例如 LoggedIn、AdvancedUser、Configuration)并且 MenuApp 返回适当的菜单项子集
  • 更高级:用户可以配置自己的 Collection 夹

这样做的主要缺点是额外的回调,但如果您已经在使用 AJAX,这可能是一个非常低的开销。

顺便说一句,这类似于 FaceBook、Google+、Twitter、Pinterest 等实现其 Like、PlusOne 等按钮的方式,同时对第三方 Web 应用程序的侵入性最小。例如参见:https://developers.google.com/+/plugins/+1button/

关于java - 没有框架的复合 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14762842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com