软件架构:如何抽象 Portlet API

发布于 2024-10-14 17:31:43 字数 147 浏览 9 评论 0原文

我们正在使用 Spring MVC,我们希望构建一个可以作为 Portlet 运行的应用程序,也可以作为常规 WebApp 运行相同的代码库。

我们愿意牺牲一些 Portlet 功能并满足于一组通用的功能。

是否有 API 或技术可以实现这一目标?

We are using Spring MVC and we would like to build an Application that could run as a Portlet AND as a regulard WebApp the same code base.

We are willing to sacrifice some of the Portlet features and settle for a common set of Features.

Is there an API or Technique to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千柳 2024-10-21 17:31:43

如果您使用 Spring 2.5 或 3.0,您可以考虑使用它们的 @Controller 注释,这些注释就是为了这个目的,而不是扩展 Spring 的 AbstractController 类(这些类特定于您试图摆脱的 Servlet 或 Portlet 规范)。

查看 http:// /static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/portlet.html#portlet-annotation

“@Controller 注释表明特定类充当控制器的角色。无需扩展任何控制器基类或引用 Portlet API。当然,如果您愿意,您仍然可以引用特定于 Portlet 的功能。需要。”

@RequestMapping 注释可能会配置不同的值,我认为这取决于您使用的是 Servlet 还是 Portlet 规范...因此,如果您仍然遇到任何障碍,您可能会考虑使用一个 Java 类来实现所有基本逻辑并具有一些最小的外观注释控制器,一个用于 Servlet,一个用于 Portlet,只需将其委托给您的一个核心逻辑类。

If you are using Spring 2.5 or 3.0, you can look into using their @Controller annotations which are for this very purpose rather than extending Spring's AbstractController classes (which are specific to the Servlet or Portlet spec that you are trying to get away from).

Check out http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/portlet.html#portlet-annotation

"The @Controller annotation indicates that a particular class serves the role of a controller. There is no need to extend any controller base class or reference the Portlet API. You are of course still able to reference Portlet-specific features if you need to."

The @RequestMapping annotations may configured with different values I think depending on if you're using Servlet or Portlet spec... so if you still run into any snags you might look into having a Java class that implements all your basic logic and having some minimal facade annotated controllers, one for Servlet and one for Portlet, that simply delegate off to your one core logic class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文