大家好,你能告诉我关于portlet中的URL的事吗。例如,如果我有myPortlet.java
我将要从html表单中调用它?我必须写行
<portlet-class>test.myPortlet</portlet-class>
portlet.xml
中的。
我明白在形式上我会使用actionURL
但是如何构建呢?
另一个问题:另一个java类在servlet中调用portlet?
答案 0 :(得分:1)
根据您希望portlet执行的操作,您可以使用不同的URL:
processAction()
方法的调用(从而更改portlet的状态),请使用操作URL。在portlet视图中包含的JSP中,您可以通过调用<portlet:actionURL />
来获取它。在portlet代码中,可以通过调用RenderResponse.createActionURL()
<portlet:renderURL/>
。这将触发portlet的渲染。 Java API替代方法是调用RenderResponse.createRenderURL()
<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。