📄 actionfilter.html.svn-base
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0) on Wed Feb 06 17:53:07 CET 2008 --><TITLE>ActionFilter</TITLE><META NAME="keywords" CONTENT="javax.portlet.filter.ActionFilter interface"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="ActionFilter";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ActionFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> PREV CLASS <A HREF="../../../javax/portlet/filter/ActionRequestWrapper.html" title="class in javax.portlet.filter"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?javax/portlet/filter/ActionFilter.html" target="_top"><B>FRAMES</B></A> <A HREF="ActionFilter.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">javax.portlet.filter</FONT><BR>Interface ActionFilter</H2><DL><DT><B>All Superinterfaces:</B> <DD><A HREF="../../../javax/portlet/filter/PortletFilter.html" title="interface in javax.portlet.filter">PortletFilter</A></DD></DL><HR><DL><DT><PRE>public interface <B>ActionFilter</B><DT>extends <A HREF="../../../javax/portlet/filter/PortletFilter.html" title="interface in javax.portlet.filter">PortletFilter</A></DL></PRE><P>The <code>ActionFilter</code> is an object that performs filtering tasks on either the action request to a portlet, or on the action response from a portlet, or both. <p> Filters perform filtering in the <code>doFilter</code> method. Every Filter has access to a <code>FilterConfig</code> object from which it can obtain its initialization parameters, a reference to the PortletContext which it can use, for example, to load resources needed for filtering tasks. <p> Filters are configured in the portlet deployment descriptor of a portlet application.<P><P><DL><DT><B>Since:</B></DT> <DD>2.0</DD></DL><HR><P><!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"><B>Method Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../javax/portlet/filter/ActionFilter.html#doFilter(javax.portlet.ActionRequest, javax.portlet.ActionResponse, javax.portlet.filter.FilterChain)">doFilter</A></B>(<A HREF="../../../javax/portlet/ActionRequest.html" title="interface in javax.portlet">ActionRequest</A> request, <A HREF="../../../javax/portlet/ActionResponse.html" title="interface in javax.portlet">ActionResponse</A> response, <A HREF="../../../javax/portlet/filter/FilterChain.html" title="interface in javax.portlet.filter">FilterChain</A> chain)</CODE><BR> The <code>doFilter</code> method of the Filter is called by the portlet container each time a action request/response pair is passed through the chain due to a client request for a portlet method at the end of the chain.</TD></TR></TABLE> <A NAME="methods_inherited_from_class_javax.portlet.filter.PortletFilter"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TH ALIGN="left"><B>Methods inherited from interface javax.portlet.filter.<A HREF="../../../javax/portlet/filter/PortletFilter.html" title="interface in javax.portlet.filter">PortletFilter</A></B></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../javax/portlet/filter/PortletFilter.html#destroy()">destroy</A>, <A HREF="../../../javax/portlet/filter/PortletFilter.html#init(javax.portlet.filter.FilterConfig)">init</A></CODE></TD></TR></TABLE> <P><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"><B>Method Detail</B></FONT></TH></TR></TABLE><A NAME="doFilter(javax.portlet.ActionRequest, javax.portlet.ActionResponse, javax.portlet.filter.FilterChain)"><!-- --></A><H3>doFilter</H3><PRE>void <B>doFilter</B>(<A HREF="../../../javax/portlet/ActionRequest.html" title="interface in javax.portlet">ActionRequest</A> request, <A HREF="../../../javax/portlet/ActionResponse.html" title="interface in javax.portlet">ActionResponse</A> response, <A HREF="../../../javax/portlet/filter/FilterChain.html" title="interface in javax.portlet.filter">FilterChain</A> chain) throws java.io.IOException, <A HREF="../../../javax/portlet/PortletException.html" title="class in javax.portlet">PortletException</A></PRE><DL><DD>The <code>doFilter</code> method of the Filter is called by the portlet container each time a action request/response pair is passed through the chain due to a client request for a portlet method at the end of the chain. <p> The <code>FilterChain</code> passed in to this method allows the Filter to pass on the action request and response to the next component in the chain. <p> The <code>doFilter</code> method of a filter will typically be implemented following this or some subset of the following pattern: <ul> <li>The method examines the request information.</li> <li>The method may wrap the request object passed in to its doFilter method with a customized implementation the request wrapper <code>ActionRequestWrapper</code> in order to modify request data.</li> <li>The method may wrap the response object passed in to its <code>doFilter</code> method with a customized implementation of the response wrapper <code>ActionResponseWrapper</code> to modify response data.</li> <li>The filter may invoke the next component in the filter chain. The next component may be another filter, or if the filter making the invocation is the last filter configured in the deployment descriptor for this chain, the next component is the target method of the portlet. The invocation of the next component is effected by calling the <code>doFilter</code> method on the <code>FilterChain</code> object, and passing in the request and response with which it was called or passing in wrapped versions it may have created. The filter chain抯 implementation of the <code>doFilter</code> method, provided by the portlet container, must locate the next component in the filter chain and invoke its <code>doFilter</code> method, passing in the appropriate request and response objects. Alternatively, the filter chain can block the request by not making the call to invoke the next component, leaving the filter responsible for filling out the response object.</li> <li>After invocation of the next filter in the chain, the filter may examine the response data.</li> <li>Alternatively, the filter may have thrown an exception to indicate an error in processing. If the filter throws an <code>UnavailableException</code> during its <code>doFilter</code> processing, the portlet container must not attempt continued processing down the filter chain. It may choose to retry the whole chain at a later time if the exception is not marked permanent.</li> <li>When the last filter in the chain has been invoked, the next component accessed is the target method on the portlet at the end of the chain.</li> </ul><P><DD><DL></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>request</CODE> - the current action request<DD><CODE>response</CODE> - the current action response<DD><CODE>chain</CODE> - the remaining filter chain<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE> - if an IO error occurred in the filter processing<DD><CODE><A HREF="../../../javax/portlet/PortletException.html" title="class in javax.portlet">PortletException</A></CODE> - if a portlet exception occurred in the filter processing</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ActionFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> PREV CLASS <A HREF="../../../javax/portlet/filter/ActionRequestWrapper.html" title="class in javax.portlet.filter"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?javax/portlet/filter/ActionFilter.html" target="_top"><B>FRAMES</B></A> <A HREF="ActionFilter.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -