<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- -*- xhtml -*- -->
  <title>针对 NetBeans 6.5 平台的快速搜索集成教程</title>
    <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="AUDIENCE" content="NBUSER">
  <meta name="TYPE" content="ARTICLE">
  <meta name="EXPIRES" content="N">
  <meta name="developer" content="gwielenga@netbeans.org">
  <meta name="indexed" content="y">
  <meta name="description"
 content="A short guide to using the Nodes API.">
<!--      Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
<!--     Use is subject to license terms.-->
</head>
<body>
	<h1>快速搜索集成教程</h1>

<p>本教程介绍如何编写在 NetBeans 快速搜索功能中集成新项目的模块。 

   <p><b>目录</b></p>
   
   <img  src="../images/articles/68/netbeans-stamp-65-67-68.gif" class="stamp" width="114" height="114" alt="本页上的内容适用于 NetBeans IDE 6.5、6.7、6.8" title="本页上的内容适用于 NetBeans IDE 6.5、6.7、6.8"> </p>
      <ul class="toc">
  <li><a href="#intro">快速搜索集成简介</a></li>
  <li><a href="#creating">创建模块项目</a></li>
  <li><a href="#use">使用“快速搜索提供器”向导</a></li>
  <li><a href="#third">集成外部 HTML DOM 解析器</a></li>
  <li><a href="#code">实现快速搜索集成</a></li>
  <li><a href="#install">安装并试用功能</a></li>
  <li><a href="#platform">在 NetBeans 平台上使用快速搜索功能</a></li>
  <ul>
     <li><a href="#enable">在 NetBeans 平台上启用快速搜索功能</a></li>
     <li><a href="#enable2">在 NetBeans 平台上启用缺省 Web 搜索提供器</a></li>
  </ul>
  <li><a href="#share">创建可共享的二进制文件</a></li>
       </ul>
         
<p><b>要学习本教程，您需要具备下表中列出的软件和资源。</b></p>

      <table>
        <tbody>
            <tr>
                <th class="tblheader" scope="col">软件或资源</th>
                <th class="tblheader" scope="col">要求的版本</th>
            </tr> 
            <tr>
                <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td>
                <td class="tbltd1">6.5 或更高版本</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">Java Developer Kit (JDK)</a></td>
                <td class="tbltd1">版本 6 或<br/>版本 5</td>
            </tr>
        </tbody>
    </table>
    
 <p class="tips">（可选）要解决疑难问题，可以<a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=11179"> 下载完整的样例 </a>并查看其源代码。
    


<h2 class="tutorial"><a name="intro">快速搜索集成简介</a></h2>

<p>NetBeans IDE 6.5 中引入的快速搜索功能由 IDE 右上角的一个文本字段组成。在该字段中键入搜索字符串时，会出现一个下拉列表并显示匹配的项目。缺省情况下，这些项目来自在 IDE 中注册的操作名称以及 IDE 的 Java 帮助中的帮助主题。选择操作项目将调用该操作；选择帮助项目将在 JavaHelp 中打开该主题。
 
 <p>此外，<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/overview-summary.html">快速搜索 API</a> 已被公开。您可以使用它将您自己的搜索项目集成到快速搜索功能中。您可以在 IDE 中使用该功能，也可以在 NetBeans 平台上将它作为应用程序的一部分使用。

<p>在本教程，您将创建一个模块，用于将 <a href="http://netbeans.dzone.com">NetBeans Zone</a> 中的项目集成到快速搜索功能中：

<p><p align="left"><img border="1" src="../images/tutorials/qsearch/deployed-result.png" alt="部署后的结果">


<!-- ===================================================================================== -->

<h2 class="tutorial"><a name="creating"></a>创建模块项目</h2>
      
<p>在本节中，我们将利用向导创建每个 NetBeans 模块所需的源代码结构。源代码结构包含位于特定位置的某些文件夹以及一组始终需要的文件。例如，每个 NetBeans 模块都需要一个 <tt>nbproject</tt> 文件夹和一个 <tt>layer.xml</tt> 文件，前者用于存放项目的 meta 数据，后者用于工具栏按钮和窗口等项的声明性注册。

<ol>
          
	      <li>选择“文件”&gt;“新建项目”(Ctrl-Shift-N)。在“类别”下选择“NetBeans 模块”。在“项目”下面，选择“模块”并单击“下一步”。</li>
	<li>在“名称和位置”面板的“项目名称”中键入 <tt>NetBeansZoneSearch</tt>。将项目位置更改为计算机上的任意目录，例如 <tt>c:\mymodules</tt>。将“独立模块”单选按钮保留为选中状态。此面板现在应如下所示：

<p><p align="left"><img src="../images/tutorials/qsearch/new-module-1.png" alt="“新建项目”向导的第 1 步。">
 <p>单击“下一步”。

<li>在“基本模块配置”面板中，键入 <tt>org.netbeans.modules.nbzone</tt> 作为代码名称基。在建议的模块显示名称中添加空格，以将其更改为 <tt>NetBeans Zone Search</tt>。选中“生成 XML 层”复选框，并保留本地化绑定和 XML 层的位置不变，这样它们将存储在名称为 <tt>org/netbeans/modules/demo</tt> 的包中。此面板现在应如下所示：

<p><p align="left"><img src="../images/tutorials/qsearch/new-module-2.png" alt="“新建项目”向导的第 2 步。">

<li>单击“完成”。</ol>

<p> IDE 将创建 <tt>NetBeans Zone Search</tt> 项目。此项目包含所有源代码和项目 meta 数据，例如项目的 Ant 生成脚本。此项目将会在 IDE 中打开。您可以在“项目”窗口 (Ctrl-1) 中查看其逻辑结构，在“文件”窗口 (Ctrl-2) 中查看其文件结构。 


      <br />

<!-- ===================================================================================== -->
<h2><a name="use">使用“快速搜索提供器”向导</a></h2>

<p>在本节中，我们将通过向导来创建实现快速搜索功能集成所需的桩模块类和层条目。

  
 <ol>
	
	 <li>右键单击项目节点，然后选择“新建”&gt;“其他”。在“新建文件”对话框中，选择“模块开发”&gt;“快速搜索提供器”。</li>
	      <li>在“快速搜索提供器”面板中，设置以下信息：
        <p><ul>
            <li><b>提供器类名。</b>指定向导将生成的桩模块的类名。在该字段中键入 &quot;NBZoneSearchProvider&quot;。
            <li><b>包。</b>指定将在其中生成桩模块类的包。从下拉列表中选择 &quot;org.netbeans.modules.nbzone&quot;。
            <li><b>类别显示名称。</b>指定桩模块将创建的类别的显示名称。在该字段中键入 &quot;NetBeans Zone&quot;。
            <li><b>命令前缀。</b>指定在搜索桩模块将创建的类别时，用于缩小搜索范围的前缀。在该字段中键入 &quot;nb&quot;。
            <li><b>弹出式窗口中的位置。</b>指定新类别在快速搜索功能中的位置。保留值为 &quot;0&quot; 不变，这样类别将处于弹出式窗口第一个位置。
          </ul>
          <p>您现在应该看到下面的屏幕：
<p><p align="left"><img src="../images/tutorials/qsearch/quick-search-template.png" alt="快速搜索模板">
          
<li>单击“完成”。

<p><p>“项目”窗口现在应如下所示：

<p><p align="left"><img src="../images/tutorials/qsearch/projects-window-final.png" alt="最终的“项目”窗口。"></ol>

      <p>在 <tt>layer.xml</tt> 文件中，您应该能看到以下内容：
      
<pre>&lt;filesystem&gt;
    &lt;folder name=&quot;QuickSearch&quot;&gt;
        &lt;folder name=&quot;NetBeansZone&quot;&gt;
            &lt;attr name=&quot;SystemFileSystem.localizingBundle&quot; stringvalue=&quot;org.netbeans.modules.nbzone.Bundle&quot;/&gt;
            &lt;attr name=&quot;command&quot; stringvalue=&quot;nb&quot;/&gt;
            &lt;attr name=&quot;position&quot; intvalue=&quot;0&quot;/&gt;
            &lt;file name=&quot;org-netbeans-modules-nbzone-NBZoneSearchProvider.instance&quot;/&gt;
        &lt;/folder&gt;
    &lt;/folder&gt;
&lt;/filesystem&gt;</pre>      

      <br />
      
    <!-- ======================================================================================= -->
      
      <h2><a name="third"></a>集成外部 HTML DOM 解析器</h2>
<p>在下一部分中，我们需要一个 HTML DOM 解析器来解析 NetBeans Zone。您可以选择任何合适的解析器。考虑到本教程的目的，我们将使用 <a href="http://sourceforge.net/project/showfiles.php?group_id=13153">JTidy</a>。</p>

<p>可以采用两种方法将外部 JAR 文件集成到模块中。第一种方法是将 JAR 放置在一个单独的“库包装器模块” 中，并在将两个模块集成到模块套件中之前让功能模块<i>依赖于</i>该库包装器模块。使用两个单独模块的好处在于，当新版本的外部 JAR 发行时，您只需要重新分发一个较小的模块（其中只包含外部 JAR），而不是还包含功能代码的大模块。第二种方法是将 JAR 添加到功能模块中，下面采用的就是这种方法。这种方法的好处在于，它在短期内比较便利，因为您只需要分发一个模块，而它的缺点在于，您会将外部库和功能代码混合在一起，而这不是一种严格的模块化方法。

<div class="indent">
    
 <ol>
    
    <li>下载 <a href="http://sourceforge.net/project/showfiles.php?group_id=13153">JTidy</a> 并找到下载包中的 <tt>Tidy.jar</tt>。
    
    <li>在“文件”窗口中，创建如下所示的文件夹结构，将 <tt>Tidy.jar</tt> 放置在 <tt>release/modules/ext</tt> 文件夹中：
     
    <p><p align="left"><img src="../images/tutorials/qsearch/tidyjar.png" alt="JTidy JAR。" />

<li>在 <tt>project.xml</tt> 文件的结束部分，该文件位于 <tt>nbproject</tt> 文件夹，添加下面的粗体标记：
 
 <pre>
            ...
            ...
            ...
            <b>&lt;class-path-extension&gt;
                &lt;runtime-relative-path&gt;ext/Tidy.jar&lt;/runtime-relative-path&gt;
                &lt;binary-origin&gt;release/modules/ext/Tidy.jar&lt;/binary-origin&gt;
            &lt;/class-path-extension&gt;</b></pre>
 
 <li>在 <tt>project.properties</tt> 文件中，添加以下内容：
 
 <pre>cp.extra=release/modules/ext/Tidy.jar</pre>

 </ol>
 
    </div>
 <p>现在，外部 HTML DOM 解析器已经在您模块的类路径中。您可以使用 JAR 中的类，如下一部分所示。
    
    
    <!-- ======================================================================================= -->
      
      <h2><a name="code"></a>实现快速搜索集成</h2>
<p>接下来，我们将实现 API。API 的类如下所示：</p>


      <table>
        <tbody>
            <tr>
                <th class="tblheader" scope="col">类</th>
                <th class="tblheader" scope="col">描述</th>
            </tr>
            <tr>
              <td class="tbltd1"><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchProvider.html">SearchProvider</a></td>
                <td class="tbltd1">快速搜索 API 的主接口。实现此接口，为您的快速搜索提供新的结果分组。</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchRequest.html">SearchRequest</a></td>
                <td class="tbltd1">快速搜索请求的描述。</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchResponse.html">SearchResponse</a></td>
                <td class="tbltd1">收集 SearchRequest 结果的响应对象。</td>
            </tr>
        </tbody>
    </table>
    
<p><p>下面，我们将设置所需模块的依赖关系，然后在我们自己的模块中实现它们。

<div class="indent">
    
    <ol>
        
        <li> 右键单击项目，选择“属性”，在“库”面板中设置以下 个依赖关系。
        
     <p><p align="left"><img src="../images/tutorials/qsearch/set-dependencies.png" alt="设置依赖关系。" />
        
        <li>打开生成的类。
        
        <li>修改该类，如下所示：
    
 <pre>public class NBZoneSearchProvider implements <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchProvider.html">SearchProvider</a> {

    /**
     * Method is called by infrastructure when search operation is requested.* Implementors should evaluate given request and fill response object with
     * apropriate results
     *
     * @param request Search request object that contains search string
     * @param response Search response object that stores search results 
     * Note that it's important to react to return value of 
     * SearchResponse.addResult(...) method and stop computation if 
     * false value is returned.
     */
    @Override 
    public void evaluate(<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchRequest.html">SearchRequest request</a>, <a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchResponse.html">SearchResponse response</a>) {
        try {

            <b>//The URL that we are providing a search for:</b>
            URL url = new URL(&quot;http://netbeans.dzone.com&quot;);
            <b>//Stuff needed by Tidy:</b>
            Tidy tidy = new Tidy();
            tidy.setXHTML(true);
            tidy.setTidyMark(false);
            tidy.setShowWarnings(false);
            tidy.setQuiet(true);

            <b>//Get the org.w3c.dom.Document from Tidy,
            //or use a different parser of your choice:</b>
            Document doc = tidy.parseDOM(url.openStream(), null);

            <b>//Get all &quot;a&quot; elements:</b>
            NodeList list = doc.getElementsByTagName(&quot;a&quot;);

            <b>//Get the number of elements:</b>
            int length = list.getLength();

            <b>//Loop through all the &quot;a&quot; elements:</b>
            for (int i = 0; i &lt; length; i++) {

                String href = null;
                if (null != list.item(i).getAttributes().getNamedItem(&quot;href&quot;)) {
                    <b>//Get the &quot;href&quot; attribute from the current &quot;a&quot; element:</b>
                    href = list.item(i).getAttributes().getNamedItem(&quot;href&quot;).getNodeValue();
                }

                <b>//Get the &quot;title&quot; attribute from the current &quot;a&quot; element:</b>
                if (null != list.item(i).getAttributes().getNamedItem(&quot;title&quot;)) {
                    String title = list.item(i).getAttributes().getNamedItem(&quot;title&quot;).getNodeValue();

                    <b>//If the title matches the requested text:</b>
                    if (title.toLowerCase().indexOf(<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchRequest.html">request.getText().toLowerCase()</a>) != -1) {

                        <b>//Add the runnable and the title to the response
                        //and return if nothing is added:</b>
                        if (!<a href="http://bits.netbeans.org/dev/javadoc/org-netbeans-spi-quicksearch/org/netbeans/spi/quicksearch/SearchResponse.html">response.addResult(new OpenFoundArticle(href), title)</a>) {
                            return;
                        }

                    }

                }

            }

        } catch (IOException ex) {
            Exceptions.printStackTrace(ex);
        }
    }

    private static class OpenFoundArticle implements Runnable {

        private String article;

        public OpenFoundArticle(String article) {
            this.article = article;
        }

        public void run() {
            try {
                URL url = new URL(&quot;http://netbeans.dzone.com&quot; + article);
                StatusDisplayer.getDefault().setStatusText(url.toString());
                URLDisplayer.getDefault().showURL(url);
            } catch (MalformedURLException ex) {
                Logger.getLogger(NBZoneSearchProvider.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        
    } 
    
 }</pre>
 
 <li>确保声明了以下导入数据：
 
<pre>import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.netbeans.spi.quicksearch.SearchProvider;
import org.netbeans.spi.quicksearch.SearchRequest;
import org.netbeans.spi.quicksearch.SearchResponse;
import org.openide.awt.HtmlBrowser.URLDisplayer;
import org.openide.awt.StatusDisplayer;
import org.openide.util.Exceptions;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.tidy.Tidy;</pre> 
 
 </ol>
    </div>

      
    <!-- ======================================================================================= -->

<h2><a name="install"></a>安装并试用功能</h2>
<p>现在，安装模块并使用快速搜索功能集成。IDE 使用 Ant 生成脚本来生成和安装模块。此生成脚本是在创建项目时创建的。</p>
<div class="indent">


      <ol>
	      <li>在“项目”窗口中，右键单击项目并选择“运行”。
	      <p><p>此时将启动一个新的 IDE 实例，并安装快速搜索集成模块。 
               <li>在快速搜索功能中键入一个字符串，如果字符串匹配 NetBeans Zone 中的某个标题，则 NetBeans Zone 中的该项目将包括在结果中：
<p><p align="left"><img border="1" src="../images/tutorials/qsearch/deployed-result.png" alt="部署后的结果">
<p>如果您键入在 <tt>layer.xml</tt> 中定义的命令前缀，并紧跟一个空格，则只搜索相关的类别：
<p><p align="left"><img border="1" src="../images/tutorials/qsearch/command.png" alt="命令前缀">
		 <li>单击某个项目，如果您在 IDE 中设置了浏览器，则会打开该浏览器并显示所选的文章。
       </ol>          
   </div>
      <br />


<!-- ======================================================================================= -->

<h2><a name="platform">在 NetBeans 平台上使用快速搜索功能</a></h2>

<p>上一部分假定您为现有应用程序创建了一个模块。如果您要在 NetBeans 平台上创建自己的应用程序，而不是创建模块，请阅读下面两个主题。

<div class="indent">
    
<h3><a name="enable"></a>在 NetBeans 平台上启用快速搜索功能</h3>

<p>虽然 NetBeans IDE 随带了对快速搜索功能的支持，但 NetBeans 平台却并非如此。缺省情况下，快速搜索功能是隐藏的。根据下面的步骤启用该功能。

<div class="indent">
  
      <ol>
          <li>将以下标记添加到 <tt>layer.xml</tt> 文件中：
<pre>&lt;folder name=&quot;Toolbars&quot;&gt;
    &lt;folder name=&quot;QuickSearch&quot;&gt;
        &lt;attr name=&quot;SystemFileSystem.localizingBundle&quot; stringvalue=&quot;org.netbeans.modules.nbzone.Bundle&quot;/&gt;
        &lt;file name=&quot;org-netbeans-modules-quicksearch-QuickSearchAction.shadow&quot;&gt;
            &lt;attr name=&quot;originalFile&quot; 
            stringvalue=&quot;Actions/Edit/org-netbeans-modules-quicksearch-QuickSearchAction.instance&quot;/&gt;
        &lt;/file&gt;
    &lt;/folder&gt;
&lt;/folder&gt;</pre>           

<li>将此键/值对添加到 <tt>Bundle.properties</tt> 文件 中：
 
 <pre>Toolbars/QuickSearch=Quick Search</pre>

              <li>运行 NetBeans 平台应用程序，您应该能看到快速搜索功能现已可用：

<p><p align="left"><img src="../images/tutorials/qsearch/netbeans-platform-qsearch.png" alt="带快速搜索功能的 NetBeans 平台">


       </ol>
 
    </div>
<!-- ======================================================================================= -->

<h3><a name="enable2"></a>在 NetBeans 平台上启用缺省 Web 搜索提供器</h3>

<p>缺省 Web 搜索提供器实现可以用在 NetBeans 源代码中。该提供器将在 Google 中搜索与搜索字符串匹配的文本。在 IDE 中，它的作用是在 <tt>netbeans.org</tt> 和相关站点中搜索与 IDE 相关的在线文档。 
 
 <p><b>注意：</b>遗憾的是，IDE 中禁用了 Web 搜索提供器，因为在多次使用之后，Google 会抱怨自动搜索违背了其使用条款，并拒绝继续提供服务。
 
 <p>如果您接受上述限制，您可以标记此 Web 搜索提供器并在您的 NetBeans 平台应用程序中用它。
 
 

<div class="indent">
  
      <ol>
          <li>如前所述，确保已经启用快速搜索功能。
          <li>将以下标记添加到 <tt>layer.xml</tt> 文件中：
<pre>&lt;folder name=&quot;Guardian&quot;&gt;
   &lt;file name=&quot;org-netbeans-modules-quicksearch-web-WebQuickSearchProviderImpl.instance&quot;/&gt;
&lt;/folder&gt;</pre>           

<li>在应用程序的 &quot;<tt>branding</tt>&quot; 文件夹中，创建如下所示的文件夹分层结构以及 <tt>Bundle.properties</tt> 文件：
 
<p><p align="left"><img border="1" src="../images/tutorials/qsearch/brand-provider.png" alt="Brand 提供器">

<p><p>在 IDE 中，上述属性是硬编码在代码中的，但是对于 NetBeans 平台，它们没有自己的定义，因此需要像上面那样标记这些属性：

<pre>quicksearch.web.site=netbeans.org
quicksearch.web.url_patterns=.*netbeans\.org/kb.*,\
    /.*wiki\.netbeans\.org/.*faq.*,.*wiki\.netbeans\.org/.*howto.*,\
    .*platform\.netbeans\.org/tutorials.*</pre>

              <li>运行 NetBeans 平台应用程序，您应该能看到 Web 快速搜索功能现已可用：

<p><p align="left"><img border="1" src="../images/tutorials/qsearch/clare-wigfall.png" alt="Guardian 搜索">


       </ol>
 
    </div>
 </div>
    
<!-- ======================================================================================= -->

<h2><a name="share"></a>创建可共享的模块二进制文件</h2>

<p>该模块现已完成，您可以将其交给其他用户使用了。为此，您需要创建一个 &quot;NBM&quot;（NetBeans 模块）二进制文件并分发它。 

<div class="indent">
  
      <ol>
	      <li>在“项目”窗口中，右键单击“<tt>NetBeans Zone 搜索</tt>”项目，然后选择“创建 NBM”。

	      <p><p>此时将创建 NBM 文件，您可以在“文件”窗口 (Ctrl-2) 中查看它：
	      <p><p align="left"><img border="1" src="../images/tutorials/qsearch/shareable-binary.png" alt="可共享的 NBM。">
	      <li>例如，通过 <a href="http://plugins.netbeans.org/PluginPortal/">NetBeans 插件门户</a>向其他人提供该文件。接收者应使用插件管理器（“工具”&gt;“插件”）来安装它。
       </ol>
 
    </div>


<!-- ======================================================================================== -->


  <br>
<div class="feedback-box"><a href="https://netbeans.org/about/contact_form.html?to=3&amp;subject=Feedback:%20Quick%20Search%20Integration%20Tutorial">请将您的意见和建议发送给我们</a></div>
<br style="clear:both;" />
  
  
<!-- ======================================================================================== -->

<h2><a name="nextsteps"></a>后续步骤</h2>

<p>有关创建和开发 NetBeans 模块的详细信息，请参见以下资源： 
  <ul>
	  <li><a href="https://platform.netbeans.org/index.html">NetBeans 平台主页</a></li>
	  <li><a href="http://bits.netbeans.org/dev/javadoc/index.html">NetBeans API 列表（当前开发版本）</a></li>
  <li><a href="https://netbeans.org/kb/trails/platform_zh_CN.html">其他相关教程</a></li></ul>
  </p>
  
  <p><p>
<!-- ======================================================================================== -->
<!-- 
<h2><a name="version"></a>Versioning </h2>
<p>
<table width="76%" border="1">
 <tbody>
   <tr>
      <td>
        <div align="left"><b>Version</b></div>
      </td>
      <td>
	<div align="left"><b>Date</b></div>
      </td>
      <td>
	<div align="left"><b>Changes</b></div>
      </td>
  </tr>
  <tr>
      <td>
         1
      </td>
      <td>
         19 July 2008
      </td>
      <td>
      Initial version.
      </td>
  </tr>
 </tbody>
</table>
-->
</body>
</html>
