1

大家好,您能告诉我有关 portlet 中的 URL 的信息吗?例如,如果我有myPortlet.java什么办法可以从 html 表单中调用它?我必须写行

<portlet-class>test.myPortlet</portlet-class>

portlet.xml.

我明白我要使用的形式actionURL但是如何构建它?
另一个问题:另一个java类在portlet中调用就像在servlet中一样?

4

1 回答 1

1

根据您希望 portlet 做什么,您可以使用不同的 URL:

  • 要触发对processAction()方法的调用(从而更改 portlet 的状态),请使用操作 URL。在您的 portlet 视图中包含的 JSP 中,您可以通过调用<portlet:actionURL />. 在 portlet 代码中,可以通过调用来获取 URLRenderResponse.createActionURL()
  • 要获取触发呈现请求的 URL,请使用<portlet:renderURL/>. 这将触发 portlet 的呈现。Java API 替代方法是调用RenderResponse.createRenderURL()
  • 如果您的 portlet 是符合 JSR-286 (portlet 2.0) 的,您还可以使用该<portlet:resourceURL />标记来获取触发 serverResource()对您的 portlet 的调用的 URL。与上述类似,还有RenderResponse.createResourceURL().

所有的 portlet 标记都属于 portlet 标记库 - 包括它<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>,并<portlet:defineObjects />在 JSP 的顶部调用)。

对方法的调用会RenderResponse.create*Url()返回一个PortletURL类,toString()并对它们执行 a 会生成 URL 的字符串表示,该 URL 可以包含在 portlet 生成的标记中。

portlet 标记和PortletURL实例都允许指定用于呈现响应的 portlet 模式和窗口状态(通过标记属性或通过PortletURL类中定义的设置器)。

有关更多信息,请参阅规范

于 2012-07-02T12:38:16.220 回答