portlet中的URL

时间:2012-07-02 09:55:31

标签: java servlets portlet

大家好,你能告诉我关于portlet中的URL的事吗。例如,如果我有myPortlet.java我将要从html表单中调用它?我必须写行

<portlet-class>test.myPortlet</portlet-class>
portlet.xml中的

我明白在形式上我会使用actionURL但是如何构建呢? 另一个问题:另一个java类在servlet中调用portlet?

1 个答案:

答案 0 :(得分:1)

根据您希望portlet执行的操作,您可以使用不同的URL:

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

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

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

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

有关详情,请参阅spec