Java API for Portlets
PORTLET 1.0
Specification Assertion Detail

TotalsTotalActiveDeprecatedRemoved
# of Assertions 18718700
# of Required Assertions 17517500
# of Optional Assertions 121200

IDChapterSectionDescriptionRequiredDependencyImplementation SpecificDefined byStatusTestable
PORTLET:SPEC:155.1For a portlet, not hosted in a distributed environment (the default), the portlet container must instantiate and use only one portlet object per portlet definition.true
truetechnologyactivetrue
PORTLET:SPEC:255.1In the case where a portlet is deployed as part of a portlet application marked as distributable, in the web.xml deployment descriptor, a portlet container may instantiate only one portlet object per portlet definition - in the deployment descriptor - per virtual machine (VM).true
truetechnologyactivetrue
PORTLET:SPEC:355.2.1The portlet container must load the portlet class using the same ClassLoader the servlet container uses for the web application part of the portlet application.true
truetechnologyactivefalse
PORTLET:SPEC:455.2.2After the portlet object is instantiated, the portlet container must initialize the portlet before invoking it to handle requests.true
truetechnologyactivetrue
PORTLET:SPEC:555.2.2.1During initialization, the portlet object may throw an UnavailableException or a PortletException. In this case, the portlet container must not place the portlet object into active service and it must release the portlet object.true
truetechnologyactivetrue
PORTLET:SPEC:655.2.2.1During initialization, the portlet may throw an UnavailableException or a PortletException. The destroy method must not be called because the initialization is considered unsuccessful.true
truetechnologyactivetrue
PORTLET:SPEC:755.2.2.1The portlet container may attempt to instantiate and initialize the portlets at any time after a failure. The exception to this rule is when an UnavailableException indicates a minimum time of unavailability. When this happens the portlet container must wait for the specified time to pass before creating and initializing a new portlet objecttrue
truetechnologyactivefalse
PORTLET:SPEC:855.2.2.1A RuntimeException thrown during initialization must be handled as a PortletException.true
truetechnologyactivetrue
PORTLET:SPEC:955.2.4If the client request is triggered by an action URL, the portal/portlet-container must first trigger the action request by invoking the processAction method of the targeted portlet.true
truetechnologyactivetrue
PORTLET:SPEC:1055.2.4The portal/portlet-container must wait until the action request finishes. Then, the portal/portlet-container must trigger the render request by invoking the render method for all the portlets in the portal page with the possible exception of portlets for which their content is being cached.true
truetechnologyactivetrue
PORTLET:SPEC:1155.2.4If the client request is triggered by a render URL, the portal/portlet-container must invoke the render method for all the portlets in the portal page with the possible exception of portlets for which their content is being cached.true
truetechnologyactivetrue
PORTLET:SPEC:1255.2.4.1If the portlet issues a redirection, when the processAction method concludes, the portal/portlet-container must send the redirection back to the user agent and it must finalize the processing of the client request.true
truetechnologyactivetrue
PORTLET:SPEC:1355.2.4.2.1doView for handling VIEW requeststrue
truetechnologyactivetrue
PORTLET:SPEC:1455.2.4.2.1doEdit for handling EDIT requeststrue
truetechnologyactivetrue
PORTLET:SPEC:1555.2.4.2.1doHelp for handling HELP requeststrue
truetechnologyactivetrue
PORTLET:SPEC:1655.2.4.2.1If the window state of the portlet (see PLT.9 Window States Chapter) is MINIMIZED, the render method of the GenericPortlet does not invoke any of the portlet mode rendering methods.true
truetechnologyactivefalse
PORTLET:SPEC:1755.2.4.4If a portlet throws an exception in the processAction method, all operations on the ActionResponse must be ignored and the render method must not be invoked within the current client request.true
truetechnologyactivetrue
PORTLET:SPEC:1855.2.4.4If a permanent unavailability is indicated by the UnavailableException, the portlet container must remove the portlet from service immediately, call the portlet's destroy method, and release the portlet object.true
truetechnologyactivetrue
PORTLET:SPEC:1955.2.4.4A RuntimeException thrown during the request handling must be handled as a PortletException.true
truetechnologyactivefalse
PORTLET:SPEC:2055.2.5Once the destroy method is called on a portlet object, the portlet container must not route any requests to that portlet object.true
truetechnologyactivefalse
PORTLET:SPEC:2155.2.5If the portlet container needs to enable the portlet again, it must do so with a new portlet object, which is a new instance of the portlet's class.true
truetechnologyactivefalse
PORTLET:SPEC:2255.2.5If the portlet object throws a RuntimeException within the execution of the destroy method the portlet container must consider the portlet object successfully destroyed.true
truetechnologyactivefalse
PORTLET:SPEC:2355.2.5After the destroy method completes, the portlet container must release the portlet object so that it is eligible for garbage collection.true
truetechnologyactivefalse
PORTLET:SPEC:2466.2If the portlet definition defines a resource bundle, the portlet-container must look up these values in the ResourceBundle. If the root resource bundle does not contain the resources for these values and the values are defined inline, the portlet container must add the inline values as resources of the root resource bundletrue
truetechnologyactivetrue
PORTLET:SPEC:2566.2 If the portlet definition does not define a resource bundle and the information is defined inline in the deployment descriptor, the portlet container must create a ResourceBundle and populate it, with the inline values, using the keys defined in the PLT.21.10 Resource Bundles Section.true
truetechnologyactivetrue
PORTLET:SPEC:2677.1A render URL is an optimization for a special type of action URLs. The portal/portlet-container must not invoke the processAction method of the targeted portlet.true
truetechnologyactivetrue
PORTLET:SPEC:2777.1The portal/portlet-container must ensure that all the parameters set when constructing the render URL become parameters of the subsequent render requests for the portlet.true
truetechnologyactivetrue
PORTLET:SPEC:2877.1 A call to any of the setParameter methods must replace any parameter with the same name previously set.true
truetechnologyactivetrue
PORTLET:SPEC:2977.1All the parameters a portlet adds to a PortletURL object must be made available to the portlet as request parameters.true
truetechnologyactivetrue
PORTLET:SPEC:3077.1 The portlet-container must "x-www-form-urlencoded" encode parameters names and values added to a PortletURL object.true
truetechnologyactivetrue
PORTLET:SPEC:3177.1If a portal/portlet-container encodes additional information as parameters, it must encode them properly to avoid collisions with the parameters set and used by the portlet.true
truetechnologyactivefalse
PORTLET:SPEC:3277.1.1A portlet cannot create a portlet URL using a portlet mode that is not defined as supported by the portlet or that the user it is not allowed to use. The setPortletMode methods must throw a PortletModeException in that situation.true
truetechnologyactivetrue
PORTLET:SPEC:3377.1.1The change of portlet mode must be effective for the request triggered by the portlet URL. true
truetechnologyactivetrue
PORTLET:SPEC:3477.1.1A portlet cannot create a portlet URL using a window state that is not supported by the portlet container. The setWindowState method must throw a WindowStateException if that is the case. true
truetechnologyactivetrue
PORTLET:SPEC:3577.1.2If the setSecure method is not used, the portlet URL must be of the same security level of the current request. true
truetechnologyactivefalse
PORTLET:SPEC:3688.5The GenericPortlet class implementation of the render method dispatches requests to the doView, doEdit or doHelp method depending on the portlet mode indicated in the request using the doDispatch method.true
truetechnologyactivetrue
PORTLET:SPEC:3788.6Portlets must describe within their definition, in the deployment descriptor, the portlet modes they can handle for each markup type they support. As all portlets must support the VIEW portlet mode, VIEW does not have to be indicated.true
truetechnologyactivetrue
PORTLET:SPEC:3888.6The portlet must not be invoked in a portlet mode that has not been declared as supported for a given markup type.true
truetechnologyactivetrue
PORTLET:SPEC:3988.6The portlet container must ignore all references to custom portlet modes that are not supported by the portal implementation, or that have no mapping to portlet modes supported by the portal.true
truetechnologyactivefalse
PORTLET:SPEC:4099.4If a custom window state defined in the deployment descriptor is not mapped to a custom window state provided by the portal, portlets must not be invoked in that window state.true
truetechnologyactivefalse
PORTLET:SPEC:411010.1There is one instance of the PortletContext interface associated with each portlet application deployed into a portlet container.true
truetechnologyactivefalse
PORTLET:SPEC:421010.1In cases where the container is distributed over many virtual machines, a portlet application will have an instance of the PortletContext interface for each VM.true
truetechnologyactivefalse
PORTLET:SPEC:431010.3The initialization parameters accessible through the PortletContext must be the same that are accessible through the ServletContext of the portlet application.true
truetechnologyactivetrue
PORTLET:SPEC:441010.3Context attributes set using the PortletContext must be stored in the ServletContext of the portlet application. A direct consequence of this is that data stored in the ServletContext by servlets or JSPs is accessible to portlets through the PortletContext and vice versa.true
truetechnologyactivetrue
PORTLET:SPEC:451010.3The PortletContext must offer access to the same set of resources the ServletContext exposes.true
truetechnologyactivefalse
PORTLET:SPEC:461010.3The PortletContext must handle the same temporary working directory the ServletContext handles. It must be accessible as a context attribute using the same constant defined in the Servlet Specification 2.3 SVR 3 Servlet Context Chapter, javax.servlet.context.tempdir.true
truetechnologyactivetrue
PORTLET:SPEC:471010.3The portlet context must follow the same behavior and functionality that the servlet context has for virtual hosting and reloading considerations. (see Servlet Specification 2.3 SVR 3 Servlet Context Chapter) true
truetechnologyactivefalse
PORTLET:SPEC:47.1SRV:33.6In the case where logical hosts (multiple logical hosts shareing one IP address), each logical host must have its own servlet context or set of servlet contexts.true
falsetechnologyactivefalse
PORTLET:SPEC:481111.1.1If a portlet receives a request from a client request targeted to the portlet itself, the parameters must be the string parameters encoded in the URL (added when creating the PortletURL) and the string parameters sent by the client to the portlet as part of the client request. true
truetechnologyactivetrue
PORTLET:SPEC:491111.1.1 The parameters the request object returns must be "x-www-form-urlencoded" decoded .true
truetechnologyactivetrue
PORTLET:SPEC:501111.1.1The portlet-container must not propagate parameters received in an action request to subsequent render requests of the portlet.true
truetechnologyactivetrue
PORTLET:SPEC:511111.1.1If a portlet receives a render request that is the result of a client request targeted to another portlet in the portal page, the parameters must be the same parameters as of the previous render request.true
truetechnologyactivetrue
PORTLET:SPEC:521111.1.1If a portlet receives a render request following an action request as part of the same client request, the parameters received with by a render request must be the render parameters set during the action request.true
truetechnologyactivetrue
PORTLET:SPEC:531111.1.1Commonly, portals provide controls to change the portlet mode and the window state of portlets. The URLs these controls use are generated by the portal. Client requests triggered by those URLs must be treated as render URLs and the existing render parameters must be preserved.true
truetechnologyactivefalse
PORTLET:SPEC:541111.1.1A portlet must not see any parameter targeted to other portlets.true
truetechnologyactivetrue
PORTLET:SPEC:551111.1.1The value returned from the getParameter method must be the first value in the array of String objects returned by getParameterValues.true
truetechnologyactivetrue
PORTLET:SPEC:561111.1.1If there is a single parameter value associated with a parameter name the method returns must return an array of size one containing the parameter value.true
truetechnologyactivetrue
PORTLET:SPEC:571111.1.2Extra parameters used by the portal/portlet-container must be invisible to the portlets receiving the request.true
truetechnologyactivefalse
PORTLET:SPEC:581111.1.5 The context path is the path prefix associated with the deployed portlet application. If the portlet application is rooted at the base of the web server URL namespace (also known as "default" context), this path must be an empty string.true
truetechnologyactivetrue
PORTLET:SPEC:591111.1.5 Otherwise, it must be the path the portlet application is rooted to, the path must start with a '/' and it must not end with a '/' character.true
truetechnologyactivetrue
PORTLET:SPEC:601111.1.6If the user is not authenticated the getAuthType method must return null.true
truetechnologyactivetrue
PORTLET:SPEC:611111.1.7The first element of the enumeration must be the same content type returned by the getResponseContentType method.true
truetechnologyactivetrue
PORTLET:SPEC:621111.1.7 The getResponseContentTypes method must return only the content types supported by the current portlet mode of the portlet.true
truetechnologyactivetrue
PORTLET:SPEC:631111.2.1Only one of the two methods, getPortletInputStream or getReader, can be used during an action request. If the input stream is obtained, a call to the getReader must throw an IllegalStateExcepion. Similarly, if the reader is obtained, a call to the getPortletInputStream must throw an IllegalStateExceptiontrue
truetechnologyactivetrue
PORTLET:SPEC:641111.2.1If the user request HTTP POST data is of type application/x-www-form-urlencoded, this data has been already processed by the portal/portlet-container and is available as request parameters. The getPortletInputStream and getReader methods must throw an IllegalStateException if called.true
truetechnologyactivetrue
PORTLET:SPEC:651212.2.1The sendRedirect method instructs the portal/portlet-container to set the appropriate headers and content body to redirect the user to a different URL. A fully qualified URL or a full path URL must be specified. If a relative path URL is given, an IllegalArgumentException must be thrown.true
truetechnologyactivetrue
PORTLET:SPEC:661212.2.1If the sendRedirect method is called after the setPortletMode, setWindowState, setRenderParameter or setRenderParameters methods of the ActionResponse interface, an IllegalStateException must be thrown and the redirection must not be executed.true
truetechnologyactivetrue
PORTLET:SPEC:671212.2.2If a portlet attempts to set a portlet mode that is not allowed to switch to, a PortletModeException must be thrown.true
truetechnologyactivetrue
PORTLET:SPEC:681212.2.2If a portlet attempts to set a window state that is not allowed to switch to, a WindowStateException must be thrown.true
truetechnologyactivetrue
PORTLET:SPEC:691212.2.2If the setPortletMode or setWindowState methods are called after the sendRedirect method has been called an IllegalStateException must be thrown.true
truetechnologyactivetrue
PORTLET:SPEC:701212.2.2If the exception is caught by the portlet, the redirection must be executed.true
truetechnologyactivetrue
PORTLET:SPEC:711212.2.2If the exception is propagated back to the portlet-container, the redirection must not be executed.true
truetechnologyactivetrue
PORTLET:SPEC:721212.2.3A call to any of the setRenderParameter methods must replace any parameter with the same name previously set. true
truetechnologyactivetrue
PORTLET:SPEC:731212.2.3If no render parameters are set during the processAction invocation, the render request must not contain any request parameters.true
truetechnologyactivetrue
PORTLET:SPEC:741212.2.3 If the setRenderParameter or setRenderParameters methods are called after the sendRedirect method has been called an IllegalStateException must be thrown .true
truetechnologyactivetrue
PORTLET:SPEC:751212.2.3If the exception is caught by the portlet, the redirection must be executed. If the exception is propagated back to the portlet-container, the redirection must not be executed.true
truetechnologyactivetrue
PORTLET:SPEC:761212.3.1The setContentType method must throw an IllegalArgumentException if the content type set does not match (including wildcard matching) any of the content types returned by the getResponseContentType method of the PortleRequest object. true
truetechnologyactivetrue
PORTLET:SPEC:771212.3.1If the getWriter or getPortletOutputStream methods are called before the setContentType method, they must throw an IllegalStateException. true
truetechnologyactivetrue
PORTLET:SPEC:781212.3.1If the portlet has set a content type, the getContentType method must return it.Otherwise, the getContentType method must return null.true
truetechnologyactivetrue
PORTLET:SPEC:791212.3.2A portlet may generate its content by writing to the OutputStream or to the Writer of the RenderResponse object. A portlet must use only one of these objects. The portlet container must throw an IllegalStateException if a portlet attempts to use both. true
truetechnologyactivetrue
PORTLET:SPEC:801212.3.3The getBufferSize method returns the size of the underlying buffer being used. If no buffering is being used, this method must return the int value of 0 (zero). true
truetechnologyactivetrue
PORTLET:SPEC:811212.3.3The portlet can request a preferred buffer size by using the setBufferSize method. The buffer assigned is not required to be the size requested by the portlet, but must be at least as large as the size requested. true
truetechnologyactivetrue
PORTLET:SPEC:821212.3.3The reset method clears data in the buffer when the response is not committed. Properties set by the portlet prior to the reset call must be cleared as well. true
truetechnologyactivefalse
PORTLET:SPEC:831212.3.3If the response is committed and the reset or resetBuffer method is called, an IllegalStateException must be thrown. true
truetechnologyactivetrue
PORTLET:SPEC:841212.3.3If the response is committed and the reset or resetBuffer method is called, an IllegalStateException must be thrown. The response and its associated buffer must be unchanged. true
truetechnologyactivetrue
PORTLET:SPEC:851212.3.3When using a buffer, the container must immediately flush the contents of a filled buffer to the client. If this is the first data that is sent to the client, the response must be considered as committed. true
truetechnologyactivefalse
PORTLET:SPEC:861212.3.4 The getNamespace method must provide the portlet with a mechanism that ensures the uniqueness of the returned string in the whole portal page.true
truetechnologyactivefalse
PORTLET:SPEC:871212.3.4 The getNamespace method must return the same value if invoked multiple times within a render request. true
truetechnologyactivetrue
PORTLET:SPEC:881212.3.4The getNamespace method must return a valid identifier as defined in the 3.8 Identifier Section of the Java Language Specification Second Edition.true
truetechnologyactivetrue
PORTLET:SPEC:891212.3.5The setTitle method must be called before the output of the portlet has been commited, if called after it should be ignored.true
truetechnologyactivefalse
PORTLET:SPEC:901414.1 Preferences attributes can be set to null. true
truetechnologyactivetrue
PORTLET:SPEC:911414.1 The getMap method returns an immutable Map of String keys and String[] values containing all current preference values. Preferences values must not be modified if the values in the Map are altered.true
truetechnologyactivetrue
PORTLET:SPEC:921414.1The reset method must reset a preference attribute to its default value.If there is no default value, the preference attribute must be deleted.true
truetechnologyactivetrue
PORTLET:SPEC:931414.1 If a preference attribute is read only, the setValue, setValues and reset methods must throw a ReadOnlyException when the portlet is in any of the standard modes.true
truetechnologyactivetrue
PORTLET:SPEC:941414.1The store method must persist all the changes made to the PortletPreferences object in the persistent store.true
truetechnologyactivetrue
PORTLET:SPEC:951414.1The store method must be conducted as an atomic transaction regardless of how many preference attributes have been modified.true
truetechnologyactivefalse
PORTLET:SPEC:961414.1All changes made to PortletPreferences object not followed by a call to the store method must be discarded when the portlet finishes the processAction method. true
truetechnologyactivetrue
PORTLET:SPEC:971414.1If the store method is invoked within the scope of a render method invocation, it must throw an IllegalStateException. true
truetechnologyactivetrue
PORTLET:SPEC:981414.1The PortletPreferences object must reflect the current values of the persistent store when the portlet container invokes the processAction and render methods of the portlet.true
truetechnologyactivetrue
PORTLET:SPEC:991414.3 If a preference attribute definition does not contain the read-only element set to true, the preference attribute is modifiable when the portlet is processing an action request in any of the standard portlet modes (VIEW, EDIT or HELP).true
truetechnologyactivetrue
PORTLET:SPEC:1001414.3Portlets are not restricted to use preference attributes defined in the deployment descriptor. They can programmatically add preference attributes using names not defined in the deployment descriptor. These preferences attributes must be treated as modifiable attributes. true
truetechnologyactivetrue
PORTLET:SPEC:1011414.4If a portlet definition includes a validator, the portlet container must create a single validator instance per portlet definition. true
truetechnologyactivefalse
PORTLET:SPEC:1021414.4If the application is a distributed application, the portlet container must create an instance per VM.true
truetechnologyactivefalse
PORTLET:SPEC:1031414.4When a validator is associated with the preferences of a portlet definition, the store method of the PortletPreferences implementation must invoke the validate method of the validator before writing the changes to the persistent store.true
truetechnologyactivetrue
PORTLET:SPEC:1041414.4If a ValidatorException is thrown, the portlet container must cancel the store operation and it must propagate the exception to the portlet.true
truetechnologyactivetrue
PORTLET:SPEC:1051414.4If the validation is successful, the store operation must be completed.true
truetechnologyactivetrue
PORTLET:SPEC:1061515.1For portlets within the same portlet application, a portlet container must ensure that every portlet request generated as result of a group of requests originated from the portal to complete a single client request receive or acquire the same session.true
truetechnologyactivetrue
PORTLET:SPEC:1071515.1If within these portlet requests more than one portlet creates a session, the session object must be the same for all the portlets in the same portlet application.true
truetechnologyactivetrue
PORTLET:SPEC:1081515.2PortletSession objects must be scoped at the portlet application context level. true
truetechnologyactivetrue
PORTLET:SPEC:1091515.2The portlet container must not share the PortletSession object or the attributes stored in it among different portlet applications or among different user sessions.true
truetechnologyactivetrue
PORTLET:SPEC:1101515.3Any object stored in the session using the APPLICATION_SCOPE is available to any other portlet that belongs to the same portlet application and that handles a request identified as being a part of the same session.true
truetechnologyactivetrue
PORTLET:SPEC:1111515.3Objects stored in the session using the PORTLET_SCOPE must be available to the portlet during requests for the same portlet window that the objects where stored from.true
truetechnologyactivetrue
PORTLET:SPEC:1121515.3The object must be stored in the APPLICATION_SCOPE with the following fabricated attribute name javax.portlet.ID?ATTRIBUTE_NAME. ID is a unique identification for the portlet window (assigned by the portal/portlet-container) that must not contain a ? character.true
truetechnologyactivetrue
PORTLET:SPEC:1131515.4A direct consequence of this is that data stored in the HttpSession by servlets or JSPs is accessible to portlets through the PortletSession in the portlet application scope.true
truetechnologyactivetrue
PORTLET:SPEC:1141515.4Data stored by portlets in the PortletSession in the portlet application scope is accessible to servlets and JSPs through the HttpSession.true
truetechnologyactivetrue
PORTLET:SPEC:1151515.4If the HttpSession object is invalidated, the PortletSession object must also be invalidated by the portlet container.true
truetechnologyactivetrue
PORTLET:SPEC:1161515.4If the PortletSession object is invalidated by a portlet, the portlet container must invalidate the associated HttpSession object.true
truetechnologyactivetrue
PORTLET:SPEC:1171515.4.1The attribute names must be the same if APPLICATION_SCOPE scope is used.true
truetechnologyactivetrue
PORTLET:SPEC:1181515.4.1The attribute name has to conform with the specified prefixing if PORTLET_SCOPE is used. true
truetechnologyactivetrue
PORTLET:SPEC:1191515.4.1The variant of these methods that does not receive a scope must be treated as PORTLET_SCOPE.true
truetechnologyactivetrue
PORTLET:SPEC:1201515.8The portlet session follows the same semantic considerations as the servlet session as defined in the Servlet Specification 2.3, SRV.7.7.3 Section. These considerations include Threading Issues, Distributed Environments, and Client Semantics.true
truetechnologyactivefalse
PORTLET:SPEC:120.1SRV:77.7.2Within an application marked as distributable, all request that are part of a session must be handled by one vertual machine at a time.true
falsetechnologyactivefalse
PORTLET:SPEC:120.2SRV:77.7.2The container must accept objects that implement the Serializable interface.true
falsetechnologyactivetrue
PORTLET:SPEC:120.3SRV:77.7.2Distributed servlet containers of a J2EE implementation must support the mechanism necessary for migrating other J2EE objects.true
falseplatformactivefalse
PORTLET:SPEC:120.4SRV:77.7.2Containers must notify any session attributes implementing the HttpSessionActivationListener during migration of a session. They must notify listeners of passivation prior to serialization of a session, and of activation after deserialization of a sessiontrue
falsetechnologyactivefalse
PORTLET:SPEC:1211616.1The getRequestDispatcher method takes a String argument describing a path within the scope of the PortletContext of a portlet application. This path must begin with a '/' and it is relative to the PortletContext root.true
truetechnologyactivetrue
PORTLET:SPEC:1221616.1If no resource can be resolved based on the given path or name the methods must return null.true
truetechnologyactivetrue
PORTLET:SPEC:1231616.1.1 Parameters specified in the query string used to create the PortletRequestDispatcher must be aggregated with the portlet render parameters and take precedence over other portlet render parameters of the same name passed to the included servlet or JSP. The parameters associated with a PortletRequestDispatcher are scoped to apply only for the duration of the include call.true
truetechnologyactivetrue
PORTLET:SPEC:1241616.2To include a servlet or a JSP, a portlet calls the include method of the PortletRequestDispatcher interface. The parameters to these methods must be the request and response arguments that were passed in via the render method of the Portlet interface.true
truetechnologyactivefalse
PORTLET:SPEC:1251616.2The portlet container must ensure that the servlet or JSP called through a PortletRequestDispatcher is called in the same thread as the PortletRequestDispatcher include invocation.true
truetechnologyactivetrue
PORTLET:SPEC:1261616.2 Servlets and JSPs included from portlets must be handled as HTTP GET requests.true
truetechnologyactivetrue
PORTLET:SPEC:1271616.3.1Except for servlets obtained by using the getNamedDispatcher method, a servlet or JSP being used from within an include call has access to the path used to obtain the PortletRequestDispatcher. The following request attributes must be set :javax.servlet.include.request_uri,javax.servlet.include.context_path, javax.servlet.include.servlet_path, javax.servlet.include.path_info, javax.servlet.include.query_string.true
truetechnologyactivetrue
PORTLET:SPEC:1281616.3.2In addition to the request attributes specified in Servlet Specification 2.3, SRV.8.3.1 Section, the included servlet or JSP must have the following request attributes set: javax.portlet.config javax.portlet.PortletConfig, javax.portlet.request javax.portlet.RenderRequest, javax.portlet.response javax.portlet.RenderResponse. These attributes must be the same portlet API objects accessible to the portlet doing the include call. true
truetechnologyactivetrue
PORTLET:SPEC:128.1SRV:88.3.1Except for servlets obtained by using the getNamedDispatcher method, a servlet being used from within an include has access to the path by which it was invoked.The following request attributes are set:javax.servlet.include.request_uri javax.servlet.include.context_path javax.servlet.include.servlet_path javax.servlet.include.path_info javax.servlet.include.query_stringtrue
falsetechnologyactivetrue
PORTLET:SPEC:1291616.3.3The following methods of the HttpServletRequest must return null: getProtocol, getRemoteAddr, getRemoteHost, getRealPath, and getRequestURL. true
truetechnologyactivetrue
PORTLET:SPEC:1301616.3.3The following methods of the HttpServletRequest must return the path and query string information used to obtain the PortletRequestDispatcher object: getPathInfo, getPathTranslated, getQueryString, getRequestURI and getServletPath. true
truetechnologyactivetrue
PORTLET:SPEC:1311616.3.3The following methods of the HttpServletRequest must be equivalent to the methods of the PortletRequest of similar name: getScheme,getServerName, getServerPort,getAttribute,getAttributeNames,setAttribute, removeAttribute,getLocale,getLocales,isSecure,getAuthType, getContextPath,getRemoteUser,getUserPrincipal,getRequestedSessionId, isRequestedSessionIdValid.true
truetechnologyactivetrue
PORTLET:SPEC:1321616.3.3The following methods of the HttpServletRequest must be equivalent to the methods of the PortletRequest of similar name with the provision defined in PLT.16.1.1 Query Strings in Request Dispatcher Paths Section: getParameter, getParameterNames, getParameterValues and getParameterMap. true
truetechnologyactivetrue
PORTLET:SPEC:1331616.3.3The following methods of the HttpServletRequest must do no operations and return null: getCharacterEncoding, setCharacterEncoding, getContentType, getInputStream and getReader. true
truetechnologyactivetrue
PORTLET:SPEC:1341616.3.3The getContentLength method of the HttpServletRequest must return 0.true
truetechnologyactivetrue
PORTLET:SPEC:1351616.3.3The following methods of the HttpServletRequest must be based on the properties provided by the getProperties method of the PortletRequest interface: getHeader,getHeaders,getHeaderNames,getCookies, getDateHeader and getIntHeader.true
truetechnologyactivefalse
PORTLET:SPEC:1361616.3.3The following methods of the HttpServletRequest must provide the functionality defined by the Servlet Specification 2.3: getRequestDispatcher, isUserInRole, getSession, isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL and isRequestedSessionIdFromUrl. true
truetechnologyactivetrue
PORTLET:SPEC:1371616.3.3 The getMethod method of the HttpServletRequest must always return 'GET'. true
truetechnologyactivetrue
PORTLET:SPEC:1381616.3.3The following methods of the HttpServletResponse must return null: encodeRedirectURL and encodeRedirectUrl.true
truetechnologyactivetrue
PORTLET:SPEC:1391616.3.3The following methods of the HttpServletResponse must be equivalent to the methods of the RenderResponse of similar name: getCharacterEncoding, setBufferSize, flushBuffer, resetBuffer, reset, getBufferSize, isCommitted, getOutputStream, getWriter, encodeURL and encodeUrl.true
truetechnologyactivetrue
PORTLET:SPEC:1401616.3.3The following methods of the HttpServletResponse must perform no operations: setContentType, setContentLength, setLocale, addCookie, sendError, sendRedirect, setDateHeader, addDateHeader, setHeader, addHeader, setIntHeader, addIntHeader and setStatus.true
truetechnologyactivefalse
PORTLET:SPEC:1411616.3.3 The getLocale method of the HttpServletResponse must be based on the getLocale method of the RenderResponse.true
truetechnologyactivetrue
PORTLET:SPEC:1421616.3.4If the servlet or JSP that is the target of a request dispatcher throws a runtime exception or a checked exception of type IOException, it must be propagated to the calling portlet. true
truetechnologyactivetrue
PORTLET:SPEC:1431616.3.4All other exceptions, including a ServletException, must be wrapped with a PortletException. The root cause of the exception must be set to the original exception before being propagated. true
truetechnologyactivetrue
PORTLET:SPEC:1441717.1User attributes of the runtime environment not mapped as part of the deployment process must not be exposed to portlets.true
truetechnologyactivefalse
PORTLET:SPEC:1451717.2If the request is done in the context of an un-authenticated user, calls to the getAttribute method of the request using the USER_INFO constant must return null. If the user is authenticated and there are no user attributes available, the Map must be an empty Map.true
truetechnologyactivefalse
PORTLET:SPEC:1461717.2The Map object should contain a String name value pair for each available user attribute.The Map object must only contain user attributes that have been mapped during deployment. true
truetechnologyactivefalse
PORTLET:SPEC:1471919.2The portlet container must enforce a one to one correspondence between a portlet application and a PortletContext.true
truetechnologyactivefalse
PORTLET:SPEC:1481919.2If the application is a distributed application, the portlet container must create an instance per VM.true
truetechnologyactivefalse
PORTLET:SPEC:1491919.5The portlet container must use the same classloader the servlet container uses for the web application resources for loading the portlets and related resources within the portlet application. true
truetechnologyactivefalse
PORTLET:SPEC:1501919.5The portlet container must ensure that requirements defined in the Servlet Specification 2.3 SRV.9.7.1 and SRV.9.7.2 Sections are fulfilled.true
truetechnologyactivefalse
PORTLET:SPEC:150.1SRV:99.7.2The classloader that a container uses to load a servlet in a WAR must allow the developer to load any resources contained in library JARs within the WAR following normal J2SE semantics using getResource.true
falsetechnologyactivetrue
PORTLET:SPEC:150.2SRV:99.7.2The classloader must not allow the WAR to override J2SE or Java servlet API classes. true
falsetechnologyactivefalse
PORTLET:SPEC:1512020.3The values that the portlet API getRemoteUser and getUserPrincipal methods return the same values returned by the equivalent methods of the servlet response object.false
truetechnologyactivetrue
PORTLET:SPEC:1522020.3The container uses the mapping of security-role-ref to security-role when determining the return value of the call.false
truetechnologyactivetrue
PORTLET:SPEC:1532020.3If the security-role-ref element does not define a role-link element, the container must default to checking the role-name element argument against the list of security-role elements defined in the web.xml deployment descriptor of the portlet application.false
truetechnologyactivetrue
PORTLET:SPEC:1542020.5When it is specified, the container must propagate the security identity of the caller to the EJB layer in terms of the security role name defined in the run-as element.false
trueplatformactivetrue
PORTLET:SPEC:1552020.5The security role name must be one of the security role names defined for the web.xml deployment descriptor.false
trueplatformactivetrue
PORTLET:SPEC:1562222.1 The portlet-container must provide an implementation of the portlet tag library.true
trueplatformactivetrue
PORTLET:SPEC:1572222.1The defineObjects tag must define the following variables in the JSP page: RenderRequest renderRequest ,RenderResponse renderResponse, PortletConfig portletConfigtrue
trueplatformactivetrue
PORTLET:SPEC:1582222.1The defineObjects tag must not define any attribute and it must not contain any body content.true
trueplatformactivefalse
PORTLET:SPEC:1592222.2The portlet actionURL tag creates a URL that must point to the current portlet and must trigger an action request with the supplied parameters.true
trueplatformactivetrue
PORTLET:SPEC:1602222.2windowState (Type: String, non-required) - indicates the window state that the portlet should have when this link is executed. The following window states are predefined: minimized, normal, and maximized. If the specified window state is illegal for the current request, a JspException must be thrown true
trueplatformactivetrue
PORTLET:SPEC:1612222.2If a window state is not set for a URL, it should stay the same as the window state of the current request. true
trueplatformactivefalse
PORTLET:SPEC:1622222.2 portletMode (Type: String, non-required) - indicates the portlet mode that the portlet must have when this link is executed, if no error condition ocurred. false
trueplatformactivetrue
PORTLET:SPEC:1632222.2If the specified portlet mode is illegal for the current request, a JspException must be thrown. true
trueplatformactivetrue
PORTLET:SPEC:1642222.2If a portlet mode is not set for a URL, it must stay the same as the mode of the current request. true
trueplatformactivetrue
PORTLET:SPEC:1652222.2var (Type: String, non-required) - name of the exported scoped variable for the action URL. The exported scoped variable must be a String. By default, the result of the URL processing is written to the current JspWriter. If the result is exported as a JSP scoped variable, defined via the var attributes, nothing is written to the current JspWriter. true
trueplatformactivetrue
PORTLET:SPEC:1662222.2 If the given variable name already exists in the scope of the page or it is used within an iteration loop, the new value overwrites the old one. true
trueplatformactivetrue
PORTLET:SPEC:1672222.2If the specified security setting is not supported by the run-time environment, a JspException must be thrown. If the security is not set for a URL, it must stay the same as the security setting of the current request. false
trueplatformactivefalse
PORTLET:SPEC:1682222.3 The portlet renderURL tag creates a URL that must point to the current portlet and must trigger a render request with the supplied parameters.true
trueplatformactivetrue
PORTLET:SPEC:1692222.3windowState (Type: String, non-required) - indicates the window state that the portlet should have when this link is executed. The following window states are predefined: minimized, normal, and maximized. If the specified window state is illegal for the current request, a JspException must be thrown.true
trueplatformactivetrue
PORTLET:SPEC:1702222.3If a window state is not set for a URL, it should stay the same as the window state of the current request. true
trueplatformactivefalse
PORTLET:SPEC:1712222.3 portletMode (Type: String, non-required) - indicates the portlet mode that the portlet must have when this link is executed, if no error condition ocurred.false
trueplatformactivetrue
PORTLET:SPEC:1722222.3If the specified portlet mode is illegal for the current request, a JspException must be thrown. true
trueplatformactivetrue
PORTLET:SPEC:1732222.3If a portlet mode is not set for a URL, it must stay the same as the mode of the current request. true
trueplatformactivetrue
PORTLET:SPEC:1742222.3var (Type: String, non-required) - name of the exported scoped variable for the render URL. The exported scoped variable must be a String. By default, the result of the URL processing is written to the current JspWriter. If the result is exported as a JSP scoped variable, defined via the var attributes, nothing is written to the current JspWriter. true
trueplatformactivetrue
PORTLET:SPEC:1752222.3 If the given variable name already exists in the scope of the page or it is used within an iteration loop, the new value overwrites the old one. true
trueplatformactivetrue
PORTLET:SPEC:1762222.3If the specified security setting is not supported by the run-time environment, a JspException must be thrown. If the security is not set for a URL, it must stay the same as the security setting of the current request. false
trueplatformactivefalse
PORTLET:SPEC:1772222.4encode tag produces a unique value for the current portlet.false
trueplatformactivefalse
PORTLET:SPEC:1782222.5param tag defines a parameter that may be added to a actionURL or renderURL. false
trueplatformactivetrue
PORTLET:SPEC:1792222.5 The param tag must not contain any body content. false
trueplatformactivefalse