@Retention(value=RUNTIME) @Target(value=METHOD) public @interface ServeResourceMethod
The annotated method must have one of the following signatures:
public void <methodName>(ResourceRequest, ResourceResponse)
This corresponds to the serveResource
method.
public String <methodName>()
The String returned by the method will be written to the response unchanged.
public void <methodName>()
Intended for use when only a resource include is needed.
The method declaration may contain a throws clause. Exceptions declared in the
throws clause should be of type PortletException
or
IOException
.
Checked exceptions of any other type will be caught, wrapped with a PortletException,
and rethrown.
ResourceServingPortlet#serveResource
Modifier and Type | Required Element and Description |
---|---|
String[] |
portletNames
The portlet names for which the serve resource method applies.
|
Modifier and Type | Optional Element and Description |
---|---|
boolean |
asyncSupported
Declares whether the serve resource method supports asynchronous operation mode.
|
String |
characterEncoding
Sets the character encoding for content generated by the annotated method.
|
String |
contentType
Sets the content type, or the MIME type, of content generated by the method.
|
String |
include
Specifies a resource, such as a JSP, an HTML file, or a servlet, to be included.
|
int |
ordinal
The ordinal number for this annotated method.
|
String |
resourceID
The resource ID.
|
public abstract String[] portletNames
The annotated method can apply to multiple portlets within the portlet application. The names of the portlets to which the resources apply must be specified in this field.
A wildcard character '*' can be specified in the first portletName array element to indicate that the resource declarations are to apply to all portlets in the portlet application. If specified, the wildcard character must appear alone in the first array element.
public abstract String resourceID
If a resource ID is specified, the bean enabler will dispatch Resource requests with matching values of the resource ID to this method.
If this field is empty, the method will be executed for all Resource requests not dispatched to other named ResourceMethods.
public abstract String characterEncoding
If this field is empty, the character encoding will not be set.
The portlet can then set the character encoding using the portlet API
ResourceResponse#setCharacterEncoding
method.
ResourceResponse#setCharacterEncoding
public abstract String contentType
If this field is empty or set to the wildcard, no content type will be set.
The portlet can then set the content type using the portlet API
ResourceResponse#setContentType
method.
ResourceResponse#setContentType
public abstract String include
The resource will be included using the
PortletRequestDispatcher#include
method after the method body
has been executed.
If this field is empty, no resource will be included.
PortletRequestDispatcher
,
PortletRequestDispatcher#include
public abstract int ordinal
The ordinal number determines the order of execution if multiple methods are annotated. Annotated methods with a lower ordinal number are executed before methods with a higher ordinal number.
public abstract boolean asyncSupported
If this flag is set, any portlet to which this annotated method applies will be marked as supporting asynchronous operation. Asynchronous support applies to resource methods only.
true
if the method supports asynchronous mode.Java Portlet 3.0 API Specification. See the Copyright and License provided with this distribution. Use is subject to license terms.