首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有框架的复合web应用程序

没有框架的复合web应用程序
EN

Stack Overflow用户
提问于 2013-02-07 23:09:27
回答 2查看 583关注 0票数 2

我已经构建了两个web应用程序,让我们称之为App1和App2。

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

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

现在,我想将App1和App2组合成一个超级应用程序,而不需要修改App1或App2。这个超级应用程序应该有一个链接到App1/Page1.jsp、App1/Page2.jsp、App2/Page3.jsp和App2/Page4.jsp的菜单。

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

解决方案1:框架

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

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

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

解决方案2:基于参数动态构建菜单

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

App1和App2可以基于父参数动态构建菜单。

例如,如果父参数不存在,那么App1将使用它的普通菜单,该菜单链接到Page1.jsp和Page2.jsp。

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

第二种解决方案不需要使用框架,但我想探讨一下是否还有其他我没有考虑过的解决方案?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-18 07:04:25

让第三个web应用程序负责菜单如何:

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

一些想法:

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

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

顺便说一句,这类似于FaceBook、Google+、Twitter、Pinterest等如何实现它们的类似、PlusOne等按钮,同时在第三方web应用程序中具有最小的侵入性。见:https://developers.google.com/+/plugins/+1button/

票数 2
EN

Stack Overflow用户

发布于 2013-02-24 21:32:45

一个可能的解决方案是当您想同时使用两个应用程序时使用portlets。部署将是相同的,您不需要在App1和App2中进行任何更改。根据您想要使用的portlet容器,配置是不同的,但最后您将为每个应用程序配置一个portlet,并将该门户的菜单配置为针对每个应用程序的urls。

两个可能的解决方案是利费莱喷气速度。我和第二个人一起工作。还有JBoss GateIn portlet容器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14762842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档