⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_struts快速学习指南6(内部培训教材)-大部分素材来自于《programming jakarta struts》一书.htm

📁 CSDN_文档中心_Struts快速学习指南15(内部培训教材)-大部分素材来自于《Programming Jakarta Struts》一书.files
💻 HTM
📖 第 1 页 / 共 4 页
字号:
			<!--
			document.ns = navigator.appName == "Netscape"
			tmpDate = new Date();
			date = tmpDate.getDate();
			month= tmpDate.getMonth() + 1 ; 
			if(document.ns)
			{
				year1=tmpDate.getYear()
				year= year1.toString().substr(1,2);
			}
			else
				year= tmpDate.getYear();
			
			document.write(year);
			document.write(".");
			document.write(month);
			document.write(".");
			document.write(date);
			// -->
			</SCRIPT>
      </B>&nbsp;&nbsp;</TD></TR>
  <TR bgColor=#999999>
    <TD colSpan=3 height=1></TD></TR></TBODY></TABLE>
<TABLE width=770 border=0>
  <TBODY>
  <TR>
    <TD class=td1 vAlign=top align=middle width=150 bgColor=#fafafa><BR>
      <SCRIPT 
      src="CSDN_文档中心_Struts快速学习指南6(内部培训教材)-大部分素材来自于《Programming Jakarta Struts》一书.files/sun.js"></SCRIPT>
    </TD>
    <TD align=middle width=620>
      <TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#eeeeee border=0>
        <TBODY>
        <TR bgColor=#ffffff>
          <TD align=middle width=50 height=10></TD>
          <TD align=right><A href="http://www.csdn.net/">CSDN</A> - <A 
            href="http://www.csdn.net/develop/">文档中心</A> - <FONT 
            color=#003399>Java</FONT>&nbsp;&nbsp;&nbsp;&nbsp; </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399 height=10><FONT 
            color=#ffffff>标题</FONT></TD>
          <TD><B>&nbsp;&nbsp;&nbsp;&nbsp;Struts快速学习指南6(内部培训教材)-大部分素材来自于《Programming 
            Jakarta Struts》一书</B>&nbsp;&nbsp;&nbsp;&nbsp;lzasp800(原作) </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399><FONT color=#ffffff>关键字</FONT></TD>
          <TD width=500>&nbsp;&nbsp;&nbsp;&nbsp;Struts MVC Framework</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR></TBODY></TABLE><!--文章说明信息结束//-->
      <TABLE width=600 border=0>
        <TBODY>
        <TR>
          <TD align=left><BR>
            <H4 style="MARGIN: 6pt 0cm 3pt; TEXT-INDENT: 0cm"><A 
            name=_Toc70351637></A><A name=_Toc69320858><SPAN 
            style="mso-bookmark: _Toc70351637"><SPAN lang=EN-US 
            style="mso-bidi-font-family: 宋体"><SPAN 
            style="mso-list: Ignore"><FONT face=宋体 size=2>1.1.1.1</FONT><SPAN 
            style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; 
            </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=宋体 
            size=2>Action类</FONT></SPAN></SPAN></A></H4>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.6pt; mso-char-indent-count: 1.8"><FONT 
            color=#354278><TT><SPAN 
            style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: DA">如果说</SPAN></TT><TT><SPAN 
            lang=EN-GB 
            style="FONT-SIZE: 12pt; mso-ansi-language: EN-GB">ActionServlet</SPAN></TT><TT><SPAN 
            style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: EN-GB">是</SPAN></TT><TT><SPAN 
            lang=EN-GB 
            style="FONT-SIZE: 12pt; mso-ansi-language: EN-GB">Struts</SPAN></TT><TT><SPAN 
            style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: EN-GB">框架的入口,</SPAN></TT><TT><SPAN 
            lang=EN-GB 
            style="FONT-SIZE: 12pt; mso-ansi-language: EN-GB">RequestProcessor</SPAN></TT><TT><SPAN 
            style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: EN-GB">是消化过滤系统,则</SPAN></TT><TT><SPAN 
            lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA">org.apache.struts.action.Action</SPAN></TT></FONT><SPAN 
            style="mso-ansi-language: DA"><FONT size=2><FONT 
            face=宋体>类可以说是整个框架的心脏。他是客户请求和业务操作的连接桥,也可以将其看作是业务操作的客户代理。<SPAN 
            lang=DA><o:p></o:p></SPAN></FONT></FONT></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 1.8"><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>在前面对</FONT></SPAN><FONT color=#354278><TT><SPAN lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA">ReqeustProcessor</SPAN></TT><TT><SPAN 
            style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: DA">类</SPAN></TT></FONT><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>的学习中,我们了解到一旦确定并得到了一个</FONT></SPAN><TT><SPAN lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA"><FONT 
            color=#354278>action</FONT></SPAN></TT><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>实例,</FONT></SPAN><TT><SPAN lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA"><FONT 
            color=#354278>ReqeustProcessor</FONT></SPAN></TT><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>会调用</FONT></SPAN><TT><SPAN lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA"><FONT 
            color=#354278>action</FONT></SPAN></TT><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>的</FONT></SPAN><TT><SPAN lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA"><FONT 
            color=#354278>execute()</FONT></SPAN></TT><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>方法处理客户请求,你需要扩展</FONT></SPAN><TT><SPAN lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA"><FONT 
            color=#354278>action</FONT></SPAN></TT><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>类,并实现它的</FONT></SPAN><TT><SPAN lang=DA 
            style="FONT-SIZE: 12pt; mso-ansi-language: DA"><FONT 
            color=#354278>execute()</FONT></SPAN></TT><SPAN 
            style="mso-ansi-language: DA"><FONT face=宋体 
            size=2>方法,在此方法中添加你自己的处理代码。下面给出是一个示例,这个</FONT></SPAN><TT><SPAN 
            lang=EN-US style="FONT-SIZE: 12pt"><FONT 
            color=#354278>action</FONT></SPAN></TT><SPAN 
            style="mso-ansi-language: DA"><FONT size=2><FONT 
            face=宋体>用来处理用户的登录请求:<SPAN 
            lang=DA><o:p></o:p></SPAN></FONT></FONT></SPAN></P>
            <TABLE class=MsoTableGrid 
            style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" 
            cellSpacing=0 cellPadding=0 border=1>
              <TBODY>
              <TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes">
                <TD 
                style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 478.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" 
                vAlign=top width=638><PRE><A name=jakarta-CHP-5-EX-6></A><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>package com.oreilly.struts.storefront.security;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import java.util.Locale;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import javax.servlet.http.*;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import org.apache.struts.action.*;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import com.oreilly.struts.storefront.customer.view.UserView;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import com.oreilly.struts.storefront.framework.exceptions.BaseException;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import com.oreilly.struts.storefront.framework.UserContainer;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import com.oreilly.struts.storefront.framework.StorefrontBaseAction;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import com.oreilly.struts.storefront.framework.util.IConstants;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>import com.oreilly.struts.storefront.service.IStorefrontService;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: DA"><FONT face=宋体>/**<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: DA"><FONT face=宋体> * Implements the logic to authenticate a user for the Storefront application.<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: DA"><FONT face=宋体> */<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>public class LoginAction extends StorefrontBaseAction {<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp; <SPAN style="COLOR: green">/**<o:p></o:p></SPAN></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp; * Called by the controller when the user attempts to log in to the<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp; * Storefront application.<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; COLOR: green; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp; */<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp; public ActionForward execute( ActionMapping mapping,<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActionForm form,<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpServletRequest request,<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpServletResponse response )<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp; throws Exception{<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: green"> // The email and password should have already been validated by the ActionForm<o:p></o:p></SPAN></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; String email = ((LoginForm)form).getEmail(&nbsp; );<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; String password = ((LoginForm)form).getPassword(&nbsp; );<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: green"> // Log in through the security service<o:p></o:p></SPAN></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; IStorefrontService serviceImpl = getStorefrontService(&nbsp; );<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; UserView userView = serviceImpl.authenticate(email, password);<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;<SPAN style="COLOR: green">&nbsp; // Create a single container object to store user data<o:p></o:p></SPAN></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; UserContainer existingContainer = null;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; HttpSession session = request.getSession(false);<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; if ( session != null ){<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; existingContainer = getUserContainer(request);<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session.invalidate(&nbsp; );<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; }else{<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; existingContainer = new UserContainer(&nbsp; );<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; }<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: green"> // Create a new session for the user<o:p></o:p></SPAN></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; session = request.getSession(true);<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;<SPAN style="COLOR: green">&nbsp; // Store the UserView in the container and store the container in the session<o:p></o:p></SPAN></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; existingContainer.setUserView(userView);<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; session.setAttribute(IConstants.USER_CONTAINER_KEY, existingContainer);<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;<SPAN style="COLOR: green">&nbsp;&nbsp; // Return a Success forward</SPAN><o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp;&nbsp;&nbsp; return mapping.findForward(IConstants.SUCCESS_KEY);<o:p></o:p></FONT></SPAN></PRE><PRE><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><FONT face=宋体>&nbsp; }<o:p></o:p></FONT></SPAN></PRE><PRE><FONT face=宋体><SPAN lang=DA style="mso-ansi-language: DA">}</SPAN><SPAN lang=DA style="FONT-SIZE: 10pt; mso-ansi-language: DA"><o:p></o:p></SPAN></FONT></PRE></TD></TR></TBODY></TABLE>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 1.8"><SPAN 
            lang=DA style="mso-ansi-language: DA"><o:p><FONT face=宋体 
            size=2>&nbsp;</FONT></o:p></SPAN></P>
            <H5 style="MARGIN: 12pt 0cm 3pt; TEXT-INDENT: 0cm"><A 
            name=_Toc70351638><SPAN lang=EN-US 
            style="mso-bidi-font-family: 宋体"><SPAN 
            style="mso-list: Ignore"><FONT face=宋体 size=3>1.1.1.1.1</FONT><SPAN 
            style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=宋体 
            size=3>Action类缓冲</FONT></SPAN></A></H5>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.6pt; mso-char-indent-count: 1.8"><TT><SPAN 
            lang=DA style="FONT-SIZE: 12pt; mso-ansi-language: DA"><FONT 
            color=#354278>Action</FONT></SPAN></TT><FONT face=宋体 
            size=2>类被设计为线程安全的,在每个应用中每个</FONT><TT><SPAN lang=DA 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -