大家好,您能告诉我有关 portlet 中的 URL 的信息吗?例如,如果我有myPortlet.java什么办法可以从 html 表单中调用它?我必须写行
<portlet-class>test.myPortlet</portlet-class>
在portlet.xml.
我明白我要使用的形式actionURL但是如何构建它?
另一个问题:另一个java类在portlet中调用就像在servlet中一样?
根据您希望 portlet 做什么,您可以使用不同的 URL:
processAction()方法的调用(从而更改 portlet 的状态),请使用操作 URL。在您的 portlet 视图中包含的 JSP 中,您可以通过调用<portlet:actionURL />. 在 portlet 代码中,可以通过调用来获取 URLRenderResponse.createActionURL()<portlet:renderURL/>. 这将触发 portlet 的呈现。Java API 替代方法是调用RenderResponse.createRenderURL()<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类中定义的设置器)。
有关更多信息,请参阅规范。