<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://array-haogang-yao.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2farray-haogang-yao.spaces.live.com%2fcategory%2fjava%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>array yao: java</title><description /><link>http://array-haogang-yao.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catjava</link><language>en-US</language><pubDate>Tue, 04 Mar 2008 07:42:04 GMT</pubDate><lastBuildDate>Tue, 04 Mar 2008 07:42:04 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://array-haogang-yao.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-3031930224919314683</live:id><live:alias>array-haogang-yao</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>折叠的菜单</title><link>http://array-haogang-yao.spaces.live.com/Blog/cns!D5EC6B8637E9FF05!146.entry</link><description>&lt;p&gt;首先需要将菜单内容写在一个xml文件上，我将其命名为menu.xml;  &lt;p&gt;代码清单menu.xml  &lt;table border=1 cellpadding=2 cellspacing=0 width=953&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=951&gt; &lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;  &lt;p&gt;&amp;lt;menu-definition&amp;gt;  &lt;p&gt;&amp;lt;menu name=&amp;quot;hkVmi&amp;quot; label=&amp;quot;HK VMI&amp;quot; href=&amp;quot;hkVmiMenu.do&amp;quot;&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;hkVmiInbound&amp;quot; label=&amp;quot;HK VMI Inbound&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;hkVmiOutbound&amp;quot; label=&amp;quot;HK VMI Outbound&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;hkVmiInboundQuery&amp;quot; label=&amp;quot;HK VMI Inbound Query&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;hkVmiOutboundQuery&amp;quot; label=&amp;quot;HK VMI Outbound Query&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;hkVmiStockQuery&amp;quot; label=&amp;quot;HK VMI Stock Query&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;hkVmiParnoQuery&amp;quot; label=&amp;quot;HK VMI Partno Query&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;hkVmiSkuTransfer&amp;quot; label=&amp;quot;HK VMI Sku transfer&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;&amp;lt;/menu&amp;gt;  &lt;p&gt;&amp;lt;menu name=&amp;quot;hkWmsi&amp;quot; label=&amp;quot;HK WMSI&amp;quot; href=&amp;quot;hkWmsiMenu.do&amp;quot;&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;inbound&amp;quot; label=&amp;quot;Inbound&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;outbound&amp;quot; label=&amp;quot;Outbound&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;stock&amp;quot; label=&amp;quot;Stock&amp;quot; href=&amp;quot;sss&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;&amp;lt;/menu&amp;gt;&lt;br&gt;&amp;lt;menu name=&amp;quot;baoBiao&amp;quot; label=&amp;quot;报表&amp;quot; href=&amp;quot;baoBiaoMenu.do&amp;quot;&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;keHuDuiZhangDan&amp;quot; label=&amp;quot;客户队帐单&amp;quot; href=&amp;quot;homeBaobiaoKehuduizhangdanPage.do&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;&amp;lt;/menu&amp;gt;&lt;br&gt;&amp;lt;menu name=&amp;quot;dingDan&amp;quot; label=&amp;quot;订单&amp;quot; href=&amp;quot;dingDanMenu.do&amp;quot;&amp;gt;&lt;br&gt;  &amp;lt;sub-menu name=&amp;quot;dingDanGuanLi&amp;quot; label=&amp;quot;订单管理&amp;quot; href=&amp;quot;homeDingdanDingdanguanliPage.do&amp;quot;&amp;gt;&amp;lt;/sub-menu&amp;gt;&lt;br&gt;&amp;lt;/menu&amp;gt;&lt;br&gt;&amp;lt;/menu-definition&amp;gt;&lt;br&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;然后创建一个继承自TagSupport的类，我将其命名为ParseMenuTag，并为这个类创建相应的tld文件：  &lt;p&gt;代码清单zibet-zibet.tld  &lt;table border=1 cellpadding=2 cellspacing=0 width=952&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=950&gt; &lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;  &lt;p&gt;&amp;lt;!DOCTYPE taglib PUBLIC &amp;quot;-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN&amp;quot; &amp;quot;&lt;a href="http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd&amp;quot;"&gt;http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd&amp;quot;&lt;/a&gt;&amp;gt;  &lt;p&gt;&amp;lt;taglib&amp;gt;&lt;br&gt;    &amp;lt;tlibversion&amp;gt;1.2&amp;lt;/tlibversion&amp;gt;&lt;br&gt;    &amp;lt;jspversion&amp;gt;1.1&amp;lt;/jspversion&amp;gt;&lt;br&gt;    &amp;lt;shortname&amp;gt;zibet&amp;lt;/shortname&amp;gt;&lt;br&gt;    &amp;lt;uri&amp;gt;&lt;a href="http://jakarta.apache.org/struts/tags-bpgdc"&gt;http://jakarta.apache.org/struts/tags-bpgdc&lt;/a&gt;&amp;lt;/uri&amp;gt;&lt;br&gt;    &amp;lt;tag&amp;gt;&lt;br&gt;        &amp;lt;name&amp;gt;menu&amp;lt;/name&amp;gt;&lt;br&gt;        &amp;lt;tagclass&amp;gt;com.zibet.taglib.menu.ParseMenuTag&amp;lt;/tagclass&amp;gt;&lt;br&gt;        &amp;lt;attribute&amp;gt;&lt;br&gt;            &amp;lt;name&amp;gt;url&amp;lt;/name&amp;gt;&lt;br&gt;            &amp;lt;required&amp;gt;true&amp;lt;/required&amp;gt;&lt;br&gt;            &amp;lt;rtexprvalue&amp;gt;true&amp;lt;/rtexprvalue&amp;gt;&lt;br&gt;        &amp;lt;/attribute&amp;gt;&lt;br&gt;    &amp;lt;/tag&amp;gt;&lt;br&gt;&amp;lt;/taglib&amp;gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;在ParseMenuTag类中，首先使用&lt;a href="http://www.dom4j.org/"&gt;Dom4j&lt;/a&gt;读取XML文件，然后应用Taglib将其打印在网页上，需要注意的是需要将当前菜单的label存储在session中。  &lt;p&gt;代码清单ParseMenuTag.java：  &lt;table border=1 cellpadding=2 cellspacing=0 width=952&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=950&gt; &lt;p&gt;package com.zibet.taglib.menu;  &lt;p&gt;import java.io.File;&lt;br&gt;import java.io.IOException;&lt;br&gt;import java.net.MalformedURLException;&lt;br&gt;import java.net.URL;&lt;br&gt;import java.util.List;  &lt;p&gt;import javax.servlet.http.HttpServletRequest;&lt;br&gt;import javax.servlet.jsp.JspException;&lt;br&gt;import javax.servlet.jsp.tagext.TagSupport;  &lt;p&gt;import org.apache.struts.taglib.TagUtils;&lt;br&gt;import org.dom4j.Document;&lt;br&gt;import org.dom4j.DocumentException;&lt;br&gt;import org.dom4j.Element;&lt;br&gt;import org.dom4j.Node;&lt;br&gt;import org.dom4j.io.SAXReader;  &lt;p&gt;import com.zibet.util.Dom4jHelper;  &lt;p&gt;public class ParseMenuTag extends TagSupport&lt;br&gt;{&lt;br&gt;private String url; &lt;br&gt;public String getUrl() &lt;br&gt;{&lt;br&gt;  return url;&lt;br&gt;}&lt;br&gt;public void setUrl(String url) &lt;br&gt;{&lt;br&gt;  this.url = url;&lt;br&gt;}&lt;br&gt;private boolean flag = true;&lt;br&gt;public int doStartTag() throws JspException&lt;br&gt;{&lt;br&gt;  HttpServletRequest req = &lt;br&gt;   (HttpServletRequest)pageContext.getRequest();&lt;br&gt;  String label;&lt;br&gt;  try &lt;br&gt;  {&lt;br&gt;   label = pageContext.getSession()&lt;br&gt;        .getAttribute(&amp;quot;label&amp;quot;).toString();&lt;br&gt;  }&lt;br&gt;  catch(RuntimeException e1)&lt;br&gt;  {&lt;br&gt;   label = &amp;quot;null&amp;quot;;&lt;br&gt;  }  &lt;p&gt;  try&lt;br&gt;  {&lt;br&gt;   URL httpurl = Dom4jHelper.instance.wrapperUrl(url,req);&lt;br&gt;   Document document = Dom4jHelper.instance.parse(httpurl);&lt;br&gt;   //document.setXMLEncoding(&amp;quot;ISO-8859-1&amp;quot;);&lt;br&gt;   List nodes;&lt;br&gt;   if(label == &amp;quot;null&amp;quot;)&lt;br&gt;   {&lt;br&gt;    nodes = document.selectNodes(&amp;quot;menu-definition/menu&amp;quot;);&lt;br&gt;   }&lt;br&gt;   else&lt;br&gt;   {&lt;br&gt;    nodes = document.selectNodes(&lt;br&gt;       &amp;quot;menu-definition/menu[@label='&amp;quot;+ label +&amp;quot;']/preceding-sibling::* |&amp;quot; +&lt;br&gt;       &amp;quot;menu-definition/menu[@label='&amp;quot;+ label +&amp;quot;']/descendant-or-self::* |&amp;quot; + &lt;br&gt;       &amp;quot;menu-definition/menu[@label='&amp;quot;+ label +&amp;quot;']/following-sibling::*&amp;quot;);&lt;br&gt;   }&lt;br&gt;   StringBuffer sb = new StringBuffer();&lt;br&gt;   sb.append(&amp;quot;&amp;lt;ul&amp;gt;&amp;quot;);&lt;br&gt;   for(int i=0; i&amp;lt;nodes.size(); i++)&lt;br&gt;   {&lt;br&gt;    Node node = (Node)nodes.get(i);&lt;br&gt;    if(node.getName().equals(&amp;quot;menu&amp;quot;))&lt;br&gt;    {&lt;br&gt;     sb.append(&amp;quot;&amp;lt;li&amp;gt;&amp;lt;a class=\&amp;quot;main-menu\&amp;quot; href=\&amp;quot;&amp;quot;&lt;br&gt;       + node.valueOf(&amp;quot;@href&amp;quot;).toString().trim()&lt;br&gt;       + &amp;quot;\&amp;quot;&amp;gt;&amp;quot;&lt;br&gt;       + node.valueOf(&amp;quot;@label&amp;quot;).toString().trim()&lt;br&gt;       + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;);&lt;br&gt;    }&lt;br&gt;    else &lt;br&gt;    {&lt;br&gt;     sb.append(&amp;quot;&amp;lt;li&amp;gt;&amp;lt;a class=\&amp;quot;sub-menu\&amp;quot;href=\&amp;quot;&amp;quot; &lt;br&gt;       + node.valueOf(&amp;quot;@href&amp;quot;).toString().trim()&lt;br&gt;       + &amp;quot;\&amp;quot;&amp;gt;&amp;quot; &lt;br&gt;       + node.valueOf(&amp;quot;@label&amp;quot;).toString().trim()&lt;br&gt;       + &amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;);&lt;br&gt;    }&lt;br&gt;   }&lt;br&gt;   sb.append(&amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;);&lt;br&gt;   TagUtils.getInstance().write(pageContext,sb.toString());&lt;br&gt;  } &lt;br&gt;  catch(MalformedURLException e)&lt;br&gt;  {&lt;br&gt;   e.printStackTrace();&lt;br&gt;  }&lt;br&gt;  catch(DocumentException e) &lt;br&gt;  {&lt;br&gt;   e.printStackTrace();&lt;br&gt;  }&lt;br&gt;  return SKIP_BODY;&lt;br&gt;}  &lt;p&gt;}&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;类ParseMenuTag用到了一个补助类：Dom4jHelper  &lt;p&gt;代码清单Dom4jHelper.java  &lt;table border=1 cellpadding=2 cellspacing=0 width=953&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=951&gt; &lt;p&gt;package com.zibet.util;  &lt;p&gt;import java.io.File;&lt;br&gt;import java.net.MalformedURLException;&lt;br&gt;import java.net.URL;  &lt;p&gt;import javax.servlet.http.HttpServletRequest;&lt;br&gt;import javax.servlet.jsp.PageContext;  &lt;p&gt;import org.apache.struts.taglib.TagUtils;&lt;br&gt;import org.dom4j.Document;&lt;br&gt;import org.dom4j.DocumentException;&lt;br&gt;import org.dom4j.Node;&lt;br&gt;import org.dom4j.io.SAXReader;  &lt;p&gt;public class Dom4jHelper &lt;br&gt;{&lt;br&gt;    public static Dom4jHelper instance = new Dom4jHelper();&lt;br&gt;    public Document parse(URL url)throws DocumentException&lt;br&gt;    {&lt;br&gt;        SAXReader reader = new SAXReader();&lt;br&gt;        Document document = reader.read(url);&lt;br&gt;        return document;&lt;br&gt;    }&lt;br&gt;    public Document parse(File file)throws DocumentException&lt;br&gt;    {&lt;br&gt;        SAXReader reader = new SAXReader();&lt;br&gt;        Document document = reader.read(file);&lt;br&gt;        return document;&lt;br&gt;    }&lt;br&gt;    public URL wrapperUrl(String url,HttpServletRequest req) &lt;br&gt;    throws MalformedURLException&lt;br&gt;    {&lt;br&gt;        return new URL(req.getScheme() + &amp;quot;://&amp;quot; + req.getServerName() + &amp;quot;:&amp;quot;&lt;br&gt;                + req.getServerPort() + &amp;quot;/&amp;quot; + req.getContextPath() + url);&lt;br&gt;    }&lt;br&gt;}&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;在jsp页面中可以这样调用菜单： &lt;p&gt;代码清单menu.jsp &lt;table border=1 cellpadding=2 cellspacing=0 width=957&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=955&gt; &lt;p&gt;&amp;lt;%@ page contentType=&amp;quot;text/html; charset=UTF-8&amp;quot; language=&amp;quot;java&amp;quot;%&amp;gt;  &lt;p&gt;&amp;lt;%@ taglib uri=&amp;quot;/tags/struts-htmlx&amp;quot; prefix=&amp;quot;htmlx&amp;quot;%&amp;gt;  &lt;p&gt;&amp;lt;htmlx:menu url=&amp;quot;/xml/menu.xml&amp;quot;/&amp;gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;程序运行效果如下： &lt;table border=1 cellpadding=2 cellspacing=0 width=958&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=956&gt; &lt;p align=center&gt;&lt;a href="http://by1.storage.msn.com/y1pFEuuCzfKKurlmHNOwvsMuz7QhbbGh9oVKhqTpY_BNyibp6eNvgn5JHCbQgyiN3nkvRsWB3EBM6f7-hn3ZZ8UvDqIgyaKrLAO?PARTNER=WRITER"&gt;&lt;img style="border:0px none" alt=menu src="http://by1.storage.msn.com/y1pFEuuCzfKKuoq0hGAC0ZcrtcT8mUN-kylbYbcthMc6uE0k29iZ-LZQkDogNABtxDn84dYVzMuSLrgLKzRq3Wwgijh1Bex7sb4?PARTNER=WRITER" border=0 height=429 width=592&gt;&lt;/a&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;最后奉上css代码： &lt;p&gt;代码清单style.css &lt;table border=1 cellpadding=2 cellspacing=0 width=958&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=top width=956&gt; &lt;p&gt;/* body start */&lt;br&gt;body {&lt;br&gt;    margin: 5px 5px 5px 5px;&lt;br&gt;    padding: 0;&lt;br&gt;    font-size: 12px;&lt;br&gt;    font-family: arial, &amp;quot;宋体&amp;quot;;&lt;br&gt;    line-height: 1.6em;&lt;br&gt;    color: #000;&lt;br&gt;}&lt;br&gt;/* body end */  &lt;p&gt;/* input start */&lt;br&gt;input[type=&amp;quot;button&amp;quot;] {&lt;br&gt;    color: #000000;&lt;br&gt;    background-color: #fed;&lt;br&gt;    border: 1px solid;&lt;br&gt;    border-top-color: #69b;&lt;br&gt;    border-left-color: #696;&lt;br&gt;    border-right-color: #363;&lt;br&gt;    border-bottom-color: #363;&lt;br&gt;}  &lt;p&gt;input[type=&amp;quot;button&amp;quot;]:hover {&lt;br&gt;    border-top-color: #c63;&lt;br&gt;    border-left-color: #c63;&lt;br&gt;    border-right-color: #930;&lt;br&gt;    border-bottom-color: #930;&lt;br&gt;}  &lt;p&gt;input[type=&amp;quot;submit&amp;quot;] {&lt;br&gt;    color: #000000;&lt;br&gt;    background-color: #fed;&lt;br&gt;    border: 1px solid;&lt;br&gt;    border-top-color: #69b;&lt;br&gt;    border-left-color: #696;&lt;br&gt;    border-right-color: #363;&lt;br&gt;    border-bottom-color: #363;&lt;br&gt;}  &lt;p&gt;input[type=&amp;quot;submit&amp;quot;]:hover {&lt;br&gt;    border-top-color: #c63;&lt;br&gt;    border-left-color: #c63;&lt;br&gt;    border-right-color: #930;&lt;br&gt;    border-bottom-color: #930;&lt;br&gt;}&lt;br&gt;input[type=&amp;quot;reset&amp;quot;] {&lt;br&gt;    color: #000000;&lt;br&gt;    background-color: #fed;&lt;br&gt;    border: 1px solid;&lt;br&gt;    border-top-color: #69b;&lt;br&gt;    border-left-color: #696;&lt;br&gt;    border-right-color: #363;&lt;br&gt;    border-bottom-color: #363;&lt;br&gt;}  &lt;p&gt;input[type=&amp;quot;reset&amp;quot;]:hover {&lt;br&gt;    border-top-color: #c63;&lt;br&gt;    border-left-color: #c63;&lt;br&gt;    border-right-color: #930;&lt;br&gt;    border-bottom-color: #930;&lt;br&gt;}  &lt;p&gt;input[type=&amp;quot;text&amp;quot;] {&lt;br&gt;    border-width: 1px;&lt;br&gt;    background-color: #FFFFFF;&lt;br&gt;}&lt;br&gt;input[type=&amp;quot;password&amp;quot;] {&lt;br&gt;    border-width: 1px;&lt;br&gt;    background-color: #FFFFFF;&lt;br&gt;}&lt;br&gt;/* input end  */  &lt;p&gt;/* layout start */&lt;br&gt;#container {&lt;br&gt;    width: 100%;&lt;br&gt;    margin: 0;&lt;br&gt;    padding: 0;&lt;br&gt;}  &lt;p&gt;#header {&lt;br&gt;    margin: 0;&lt;br&gt;    padding: 0;&lt;br&gt;    clear: right;&lt;br&gt;}  &lt;p&gt;#footer {&lt;br&gt;    margin: 0;&lt;br&gt;    padding: 0;&lt;br&gt;    clear: right;&lt;br&gt;}&lt;br&gt;#content {&lt;br&gt;    margin: 5px 0px;&lt;br&gt;    padding: 0;&lt;br&gt;    width: 100%;&lt;br&gt;}&lt;br&gt;#left {&lt;br&gt;    float: left;&lt;br&gt;    width: 13%;&lt;br&gt;    margin: 0px 1px 0px 0px;&lt;br&gt;    padding: 0;&lt;br&gt;}  &lt;p&gt;#right {&lt;br&gt;    float: right;&lt;br&gt;    width: 86%;&lt;br&gt;    margin: 0px 0px 0px 1px;&lt;br&gt;    padding: 0;&lt;br&gt;}&lt;br&gt;/* layout end */  &lt;p&gt;/* heaeder_nav start */&lt;br&gt;#header_nav {&lt;br&gt;    margin: 0;&lt;br&gt;    padding: 0;&lt;br&gt;    list-style-type: none;&lt;br&gt;    text-align: right&lt;br&gt;}  &lt;p&gt;#header_nav li {&lt;br&gt;    border-color: #666;&lt;br&gt;    border-style: solid;&lt;br&gt;    border-width: 0 1px 0 0;&lt;br&gt;    padding: 0 2px 0 1px;&lt;br&gt;    margin: 0 3px 0 3px;&lt;br&gt;    list-style-type: none;&lt;br&gt;    display: inline;&lt;br&gt;}  &lt;p&gt;#header_nav li a {&lt;br&gt;    margin: 0;&lt;br&gt;}  &lt;p&gt;#header_nav li.last {&lt;br&gt;    border-width: 0;&lt;br&gt;    margin: 0;&lt;br&gt;}&lt;br&gt;/* header_nav end */  &lt;p&gt;/* dabable start */&lt;br&gt;#datable table {&lt;br&gt;    table-layout: automatic;&lt;br&gt;    empty-cells: show;&lt;br&gt;    padding: 0;&lt;br&gt;    margin: 0;&lt;br&gt;    border-spacing: 1px;&lt;br&gt;    border-collapse: collapse;&lt;br&gt;    border-width: 1px 1px 1px 1px;&lt;br&gt;    border-color: #bbbbbb;&lt;br&gt;    border-style: solid solid solid solid;&lt;br&gt;    width: 100%;&lt;br&gt;}&lt;br&gt;#datable table caption {&lt;br&gt;    padding: 0 0 5px 0;&lt;br&gt;    font-style: italic;&lt;br&gt;    text-align: right;&lt;br&gt;}  &lt;p&gt;#datable table th {&lt;br&gt;    padding: 1px 1px 1px 1px;&lt;br&gt;    -moz-border-radius: 0px 0px 0px 0px;&lt;br&gt;    padding: 1px 1px 1px 1px;&lt;br&gt;    letter-spacing: -0px;    &lt;br&gt;    border-width: 1px 1px 1px 1px;&lt;br&gt;    font-weight: normal;&lt;br&gt;    border-color: #bbbbbb;&lt;br&gt;    border-style: solid solid solid solid;&lt;br&gt;    background-color: #eeeeee;&lt;br&gt;    color: #000;&lt;br&gt;    text-align: left;&lt;br&gt;}&lt;br&gt;#datable table td {&lt;br&gt;    -moz-border-radius: 0px 0px 0px 0px;&lt;br&gt;    padding: 1px 1px 1px 1px;&lt;br&gt;    letter-spacing: 0px;&lt;br&gt;    border-width: 1px 1px 1px 1px;&lt;br&gt;    border-color: #bbbbbb;&lt;br&gt;    border-style: solid solid solid solid;&lt;br&gt;}&lt;br&gt;/* datable end */  &lt;p&gt;/* contable start */&lt;br&gt;#contable table {&lt;br&gt;    table-layout: automatic;&lt;br&gt;    empty-cells: show;&lt;br&gt;    padding: 0;&lt;br&gt;    margin: 0;&lt;br&gt;    border-spacing: 1px;&lt;br&gt;    border-collapse: separate;&lt;br&gt;    border-width: 1px 1px 1px 1px;&lt;br&gt;    width: 100%;&lt;br&gt;    border-color: #dddddd;&lt;br&gt;    border-style: none;&lt;br&gt;}  &lt;p&gt;#contable table td {&lt;br&gt;    -moz-border-radius: 0px 0px 0px 0px;&lt;br&gt;    padding: 1px 1px 1px 1px;&lt;br&gt;    letter-spacing: 0px;&lt;br&gt;    border-width: 1px 1px 1px 1px;&lt;br&gt;    border-color: #dddddd;&lt;br&gt;    border-style: none;&lt;br&gt;    background-color: #ffffff;&lt;br&gt;    padding-left: 5px;&lt;br&gt;}&lt;br&gt;#contable table th {&lt;br&gt;    text-align: right;&lt;br&gt;    padding: 1px 1px 1px 1px;&lt;br&gt;    -moz-border-radius: 0px 0px 0px 0px;&lt;br&gt;    padding: 1px 1px 1px 1px;&lt;br&gt;    letter-spacing: -0px;&lt;br&gt;    border-width: 1px 1px 1px 1px;&lt;br&gt;    background-color: #eeeeee;&lt;br&gt;    font-weight: normal;&lt;br&gt;    border-style: none;&lt;br&gt;    padding-left: 4px;&lt;br&gt;    border-color: #dddddd;&lt;br&gt;}&lt;br&gt;#contable table td input[type=&amp;quot;text&amp;quot;] {&lt;br&gt;    border-width: 0px 0px 1px 0px;&lt;br&gt;    background-color: #ffffff;&lt;br&gt;    border-color: #000;&lt;br&gt;}  &lt;p&gt;/* contable end*/  &lt;p&gt;/* report_nav start */&lt;br&gt;#report_nav {&lt;br&gt;      position: relative;&lt;br&gt;     z-index: 1;&lt;br&gt;     margin: 0;&lt;br&gt;    padding: 0;&lt;br&gt;    list-style: none;&lt;br&gt;}&lt;br&gt;#report_nav ul {&lt;br&gt;    width: 100%;&lt;br&gt;    padding: 0;&lt;br&gt;    margin: 0;&lt;br&gt;    list-style-type: none;&lt;br&gt;}  &lt;p&gt;#report_nav ul li {&lt;br&gt;    margin: 0 0 3px 0;&lt;br&gt;    padding: 1px 0 0 0;&lt;br&gt;}  &lt;p&gt;#report_nav ul li a {&lt;br&gt;      display: block;&lt;br&gt;    text-decoration: none;&lt;br&gt;    outline: none;&lt;br&gt;    color: #000;&lt;br&gt;}  &lt;p&gt;#report_nav ul li a.main-menu{&lt;br&gt;    display: block;&lt;br&gt;      position: relative;&lt;br&gt;    border-style: solid;&lt;br&gt;    border-color: #d7d7d7;&lt;br&gt;      border-width: 1px 1px 1px 1px;&lt;br&gt;    padding: 1px 1px 1px 6px;&lt;br&gt;    background-color: #e4e4e4;&lt;br&gt;}  &lt;p&gt;#report_nav ul li a.sub-menu{&lt;br&gt;    display: block;&lt;br&gt;      position: relative;&lt;br&gt;    border-style: dotted;&lt;br&gt;    border-color: #d7d7d7;&lt;br&gt;      border-width: 0 0 1px 0;&lt;br&gt;    padding: 1px 1px 1px 12px;&lt;br&gt;    margin: 0 3px 0 6px;&lt;br&gt;}  &lt;p&gt;#report_nav ul li a:hover {&lt;br&gt;      text-decoration: underline;&lt;br&gt;}&lt;br&gt;#report_nav ul li a:link {&lt;br&gt;      color: #000000;&lt;br&gt;}&lt;br&gt;#report_nav ul li a:visited {&lt;br&gt;      color: #000000;&lt;br&gt;}&lt;br&gt;/* report_nav end */&lt;/tbody&gt;&lt;/table&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3031930224919314683&amp;page=RSS%3a+%e6%8a%98%e5%8f%a0%e7%9a%84%e8%8f%9c%e5%8d%95&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=array-haogang-yao.spaces.live.com&amp;amp;GT1=array-haogang-yao"&gt;</description><comments>http://array-haogang-yao.spaces.live.com/Blog/cns!D5EC6B8637E9FF05!146.entry#comment</comments><guid isPermaLink="true">http://array-haogang-yao.spaces.live.com/Blog/cns!D5EC6B8637E9FF05!146.entry</guid><pubDate>Sun, 07 Oct 2007 03:04:12 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://array-haogang-yao.spaces.live.com/blog/cns!D5EC6B8637E9FF05!146/comments/feed.rss</wfw:commentRss><wfw:comment>http://array-haogang-yao.spaces.live.com/Blog/cns!D5EC6B8637E9FF05!146.entry#comment</wfw:comment><dcterms:modified>2007-12-05T01:20:22Z</dcterms:modified></item></channel></rss>