gpt4 book ai didi

java - Spring MVC 2.5 servlet/portlet 兼容 URL

转载 作者:行者123 更新时间:2023-12-01 15:05:07 25 4
gpt4 key购买 nike

我正在使用 Spring MVC 编写一个应用程序,该应用程序必须作为 servletportlet 运行。这在 Spring 3 (JSR-286) 中很容易做到,但我必须使用 portlet 1.0 规范 (JSR-168)。为了与其兼容,我将 Spring MVC 降级到 2.5 ( more information here )。

一切正常,但我无法生成 servlet/portlet 兼容的 URL!

使用 Spring 3,我会这样写:

<spring:url value="/foo">
<spring:param name="action" value="foo"/>
</spring>

在 Spring 2.5 中没有 spring:url 标签。我尝试使用 c:url 但它只生成 servlet 兼容的 URL(而不是 portlet)。

如何实现 servlet/portlet 兼容的 URL 生成?

最佳答案

我不确定下面的解决方案,但也许会有帮助。

您可以将 portlet 标记用于 portlet 兼容的 URL:

<%@ taglib uri=”http://java.sun.com/portlet” prefix=”portlet” %>
...
<portlet:actionURL ... >
<portlet:param name="action" value="foo">
</portlet:actionURL>

(我建议您查看Java Portlet 1.0 specification (JSR-168)“Portlet 标签库”章节以获取有关此标签的详细信息)

然后,要生成 portlet 或 servlet url,您可以使用一个条件来检测您当前使用的是 Portlet 还是 Servlet(我不知道是否可能):

<c:choose>
<c:when test="usingPortlet">
<portlet:actionURL ... > ... </portlet:actionURL>
</c:when>
<c:otherwise>
<c:url ... > ... </c:url>
</c:otherwise>
<c:choose>

关于java - Spring MVC 2.5 servlet/portlet 兼容 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13070208/

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