¡¡¡¡Ã¿¸ö½øÐйý½Ï´óÐ͵ÄASP-WebÓ¦ÓóÌÐòÉè¼ÆµÄ¿ª·¢ÈËÔ±´ó¸Å¶¼ÓÐÈçϵľ­Àú£ºASP´úÂëÓëÒ³ÃæHTML»ìÏýÄÑ·Ö£¬ÒµÎñÂß¼­ÓëÏÔʾ·½Ê½½ÊºÏ£¬Ê¹µÃ´úÂëÄÑÒÔÀí½â¡¢ÄÑÒÔÐ޸컳ÌÐò±àд±ØÐëÔÚÃÀ¹¤Ö®ºó£¬³ÉΪÏîĿƿ¾±£»ÕûºÏµÄ³ÌÐò´úÂëºÍHTML¾²Ì¬Ò³ÃæÊ±£¬»¨·Ñ´óÁ¿µÄʱ¼ä²ÅÄܵõ½ÀíÏëµÄЧ¹û£¬¼æ×÷ÁËÃÀ¹¤¡£µÄÈ·£¬Óýű¾ÓïÑÔ¿ª·¢WebÓ¦Óò»ÈÝÒ×½«Êý¾ÝµÄ´¦ÀíºÍÊý¾ÝµÄÏÔʾ·Ö¿ª£¬µ«ÔÚ¶àÈ˺Ï×÷µÄÇé¿öÏ£¬Èç¹ûÎÞ·¨½«Êý¾ÝºÍÏÔʾ·Ö¿ª£¬½«´ó´óÓ°Ï쿪·¢µÄЧÂÊ£¬×¨Òµ·Ö¹¤µÄ·¢»Ó¡£

¡¡¡¡ÆäËüµÄ½Å±¾ÓïÑÔ£¬ÈçJSP¡¢PHP¶¼ÓÐ×Ô¼ºµÄ½â¾ö·½°¸£¬ASPµÄºóÒ»´ú²úÆ·ASP.NETҲʵÏÖÁË´úÂëÓëÒ³Ãæ£¬ËƺõÖ±½Ó¹ý¶Éµ½ASPÊDz»´íµÄÑ¡Ôñ¡£µ«ÊÇ×ÜÓÐÕâÑù»òÄÇÑùµÄÔ­ÒòÈÃÎÒÃDz»ÄÜ»òÔÝʱ²»ÄÜ·ÅÆúASPÖ±±¼.NET´óÓª¡£´Ó¹«Ë¾½Ç¶ÈÀ´¿´£¬×ª»»ÓïÑÔÊÇÒ»±Ê²»ÉÙµÄͶ×Ê£¬°üÀ¨¹ÍÓ¶ÊìÊÖ.NET³ÌÐòÔ±¡¢ÅàѵԭÓгÌÐòÔ±¡¢¿ª·¢¹¤¾ßµÄתÐÍ¡¢¿ª·¢·ç¸ñµÄתÐÍ¡¢½çÃæ·ç¸ñת±ä¡¢½Ó¿Ú·ç¸ñ¡¢Èí¼þ¼Ü¹¹¡¢Îĵµ¡¢¿ª·¢Á÷³ÌµÈµÈ£»Õ⻹Òâζ×ÅÔ­ÓеĴúÂë±ØÐëÔÚÐÂÓïÑÔ»·¾³ÀïÖØÐ´ÒÔʵÏÖ×î¼ÑµÄЧ¹ûºÍÎȶ¨ÐÔ£»Í¬Ê±½«Ö±½ÓÓ°ÏìÕâ¶Îʱ¼äÄÚÏîÄ¿µÄ½ø¶È£¬¸üÓпÉÄܵ¼Ö¸ö±ð³ÌÐòÔ±³ö×ß¡£ÓÉ´Ë¿´À´ÔÚÄú¾ö¶¨×ª»»ÓïÑÔ֮ǰ£¬ÔÚÔ­»ù´¡ÉÏѰÇóÒ»ÖÖ½â¾ö·½°¸£¬²ÅÊÇ×îºÃµÄÑ¡Ôñ¡£

¡¡¡¡PHPͨ¹ýÄ£°åʵÏÖ´úÂëÓëÒ³Ãæ£¬¿É¹©Ñ¡ÔñµÄÓÐFastTemplate¡¢PHPLIB¡¢SmartyµÈ¶àÖÖ£¬ÆäÖÐPHPLIBµÄÓ°Ïì×î´ó¡¢Ê¹ÓÃ×î¶à¡£¼ÈÈ»Èç´Ë£¬ÎÒÃÇÖ±½Ó°ÑËü°áµ½ASPÀ´£¬¶ÔÓÚͬʱʹÓÃPHPºÍASPµÄ¹«Ë¾»¹ÓкÜÓкô¦£ºÒ»¡¢ÃÀ¹¤´¦ÀíÒ³ÃæÊ±£¬²»¹Ü½«ÒªÌ×ÓÃPHP»¹ÊÇASP£¬´¦Àí·½Ê½ÊÇÒ»Ñù£¬ÎÞÐë¾­¹ýÅàѵ£»¶þ¡¢³ÌÐòÔ±±àд´úÂëʱ£¬Á½ÖÖÓïÑÔ¼äµÄ˼·½Ó½ü»òÒ»Ö£¬Ïàͬ¹¦ÄÜÔÚÁ½ÖÖÓïÑÔʵÏÖʱ£¬Ö»Ð追±´¹ýÀ´ÂÔ×÷Ð޸ļ´¿É£¬±£Ö¤Á˹¤×÷ЧÂʺÍÏîÄ¿½ø¶È¡£

¡¡¡¡1¡¢Ä£°åÀàµÄÉè¼Æ

¡¡¡¡ÊµÏÖ´úÂë·â×°³ÉΪģ°åÀ࣬¼´ÊÇΪÁËÓëPHPLIB¼æÈÝ£¬Ò²Ê¹µÃ´úÂë·½±ã¹ÜÀíÓëÀ©Õ¹¡£
¡¡¡¡Ä£°åÀàҪʵÏÖµÄÄ¿±êΪ£º´ÓÄ£°åÎļþÖжÁÈëÏÔʾµÄHTML´úÂ룬½«ÕâЩÏÔʾ´úÂëÖÐÐèÒª¶¯Ì¬Êý¾ÝµÄµØ·½Ì滻ΪASP³ÌÐòÔËËãËùµÃ³öµÄÊý¾Ý£¬È»ºó°´ÕÕÒ»¶¨µÄ˳ÐòÊä³ö¡£ÆäÖУ¬Ìæ»»µÄ²¿·Ö¿ÉÒÔ×ÔÓɵÄÉ趨¡£Òò´ËËü±ØÐëÍê³ÉÈçÏÂÈÎÎñ£º
    ¡¤´ÓÄ£°åÎļþÖжÁÈ¡ÏÔʾÓõÄHTML´úÂë¡£
    ¡¤½«Ä£°åÎļþºÍʵ¼ÊÉú³ÉµÄÊý¾Ý½áºÏ£¬Éú³ÉÊä³öµÄ½á¹û¡£
    ¡¤ÔÊÐíͬʱ´¦Àí¶à¸öÄ£°å¡£
    ¡¤ÔÊÐíÄ£°åµÄǶÌס£
    ¡¤ÔÊÐí¶ÔÄ£°åÖеÄij¸öµ¥¶ÀµÄ²¿·Ö½øÐд¦Àí¡£

¡¡¡¡ÊµÏÖ·½·¨£º

    ²ÉÓÃFSO¶Áȡģ°åÎļþ
    ²ÉÓÃÕýÔòÌæ»»ÊµÏÖÄ£°åÎļþºÍÊý¾ÝµÄ½áºÏ
    ´¦Àí¶à¸öÄ£°åÓÃÊý×é´æ´¢À´ÊµÏÖ¡£

    Ä£°åµÄǶÌ×µÄʵÏÖÖ÷ÒªµÄÏë·¨ÊÇ£º½«Ä£°åºÍÊä³ö£¨ÈκÎÖмäµÄ·ÖÎö½á¹û£©Ò»ÊÓͬÈÊ£¬¶¼¿ÉÄÃÀ´×öÌæ»»£¬¼´¿ÉʵÏÖ¡£

    µ¥¶À²¿·ÖµÄ´¦ÀíµÄͨ¹ýÔÚÄ£°åÎļþÖÐÉ趨±ê×¢£¬È»ºóÔÚÕýÔòÌæ»»ÖнáºÏ±ê×¢À´¿ØÖÆ£¬ÊµÏÖ²¿·ÖÌæ»»¡£

¡¡¡¡2¡¢Ä£°åÀàµÄʵÏÖ

¡¡¡¡¸ø³ö¾ßÌå´úÂë֮ǰ£¬ÏȰÑÖ÷Òªº¯ÊýÁгö£¬ÓùýPHPLIBµÄÅóÓÑÓ¦¸Ã¶Ô´ËºÜÊìϤÁË£º
¡¡¡¡1£©Public Sub set_root(ByVal Value)¡¡É趨ģ°åĬÈÏĿ¼
¡¡¡¡2£©Public Sub set_file(ByVal handle,ByVal  filename)¡¡¶ÁÈ¡Îļþ
¡¡¡¡3£©Public Sub set_var(ByVal Name, ByVal Value, ByVal Append)¡¡ÉèÖÃÓ³ÉäÊý¾Ý-Ìæ»»±äÁ¿
¡¡¡¡4£©Public Sub unset_var(ByVal Name)¡¡È¡ÏûÊý¾ÝÓ³Éä
¡¡¡¡5£©Public Sub set_block(ByVal Parent, ByVal BlockTag, ByVal Name)¡¡ÉèÖÃÊý¾Ý¿é
¡¡¡¡6£©Public Sub set_unknowns(ByVal unknowns)¡¡É趨δָ¶¨Ó³ÉäµÄ±ê¼Ç´¦Àí·½Ê½
¡¡¡¡7£©Public Sub parse(ByVal Name, ByVal BlockTag, ByVal Append)¡¡Ö´ÐÐÄ£°åÎļþÓëÊý¾ÝµÄ½áºÏ
¡¡¡¡8£©Public Sub p(ByVal Name)¡¡Êä³ö´¦Àí½á¹û

ʵÏÖ´úÂ룺
<%
'================================================================
' CLASS NAME:  kktTemplate ASPÒ³ÃæÄ£°å¶ÔÏó
' DESIGN BY :     Åí¹ú»Ô
' DATE:                 2004-07-05
' WEBSITE:          http://kacarton.yeah.net/
' BLOG:                http://blog.csdn.net/nhconch
' EMAIL:              kacarton@sohu.com
'
' ±¾¶ÔÏóÖÐʹÓÃÁËset_var¡¢set_blockµÈÃüÃû·½·¨ÊÇΪÁ˼æÈÝphplib
'ÎÄÕÂΪ×÷ÕßÔ­´´£¬×ªÔØÇ°ÇëÏÈÓë±¾ÈËÁªÏµ£¬×ªÔØÇë×¢Ã÷ÎÄÕ³ö´¦¡¢±£Áô×÷ÕßÐÅÏ¢£¬Ð»Ð»Ö§³Ö£¡
'================================================================

Class kktTemplate
   
    Private m_FileName, m_Root, m_Unknowns, m_LastError, m_HaltOnErr
    Private m_ValueList, m_BlockList
    Private m_RegExp   
    ' ¹¹Ô캯Êý
    Private Sub Class_Initialize
        Set m_ValueList     = CreateObject("Scripting.Dictionary")
        Set m_BlockList     = CreateObject("Scripting.Dictionary")
        set m_RegExp        = New RegExp
        m_RegExp.IgnoreCase = True
        m_RegExp.Global     = True
        m_FileName          = ""
        m_Root              = ""
        m_Unknowns          = "remove"
        m_LastError         = ""
        m_HaltOnErr         = true
    End Sub
   
    ' Îö¹¹º¯Êý
    Private Sub Class_Terminate
        Set m_RegExp       = Nothing
        Set m_BlockMatches = Nothing
        Set m_ValueMatches = nothing
    End Sub
   
    Public Property Get ClassName()
        ClassName = "kktTemplate"
    End Property
   
    Public Property Get Version()
        Version = "1.0"
    End Property
   
    Public Sub About()
        Response.Write("kktTemplate ASPÒ³ÃæÄ£°åÀà<br>" & vbCrLf &_
                       "³ÌÐòÉè¼Æ£ºÅí¹ú»Ô 2004-07-05<br>" & vbCrLf &_
                       "¸öÈËÍøÕ¾£º<a href='http://kacarton.yeah.net'>http://kacarton.yeah.net</a><br>" & vbCrLf &_
                       "µç×ÓÓʼþ£º<a href='mailto:kacarton@sohu.com'>kacarton@sohu.com</a><br>")
    End Sub
   
    '¼ì²éĿ¼ÊÇ·ñ´æÔÚ
    Public Function FolderExist(ByVal path)
        Dim fso
        Set fso = CreateObject("Scripting.FileSystemObject")
        FolderExist = fso.FolderExists(Server.MapPath(path))
        Set fso = Nothing
    End Function
    '¶ÁÈ¡ÎļþÄÚÈÝ
    Private Function LoadFile()
        Dim Filename, fso, hndFile
        Filename = m_Root
        If Right(Filename, 1)<>"/" And Right(Filename, 1)<>"/" Then Filename = Filename & "/"
        Filename = Server.MapPath(Filename & m_FileName)
        Set fso = CreateObject("Scripting.FileSystemObject")
        If Not fso.FileExists(Filename) Then ShowError("Ä£°åÎļþ" & m_FileName & "²»´æÔÚ!")
        set hndFile = fso.OpenTextFile(Filename)
        LoadFile = hndFile.ReadAll
        Set hndFile = Nothing
        Set fso = Nothing
        If LoadFile = "" Then ShowError("²»ÄܶÁȡģ°åÎļþ" & m_FileName & "»òÎļþΪ¿Õ!")
    End Function
   
    '´¦Àí´íÎóÐÅÏ¢
    Private Sub ShowError(ByVal msg)
        m_LastError = msg
        Response.Write "<font color=red style='font-size;14px'><b>Ä£°å´íÎó£º" & msg & "</b></font><br>"
        If m_HaltOnErr Then Response.End
    End Sub
   
    'ÉèÖÃÄ£°åÎļþĬÈÏĿ¼
    'Ex: kktTemplate.set_root("/tmplate")
    '    kktTemplate.Root = "/tmplate"
    '    root = kktTemplate.get_root()
    '    root = kktTemplate.Root
    'ʹÓÃÀàËÆset_rootÕâÑùµÄÃüÃû·½·¨ÊÇΪÁ˼æÈÝphplib£¬ÒÔϽ«²»ÔÙÖØ¸´ËµÃ÷
    Public Sub set_root(ByVal Value)
        If Not FolderExist(Value) Then ShowError(Value & "²»ÊÇÓÐЧĿ¼»òĿ¼²»´æÔÚ!")
        m_Root = Value
    End Sub
    Public Function get_root()
        get_root = m_Root
    End Function
    Public Property Let Root(ByVal Value)
        set_root(Value)
    End Property
    Public Property Get Root()
        Root = m_Root
    End Property
   
    'ÉèÖÃÄ£°åÎļþ
    'Ex: kktTemplate.set_file("hndTpl", "index.htm")
    '±¾À಻֧³Ö¶àÄ£°åÎļþ£¬handleΪ¼æÈÝphplib¶ø±£Áô
    Public Sub set_file(ByVal handle,ByVal  filename)
        m_FileName = filename
        m_BlockList.Add Handle, LoadFile()
    End Sub
    Public Function get_file()
        get_file = m_FileName
    End Function
'     Public Property Let File(handle, filename)
'         set_file handle, filename
'     End Property
'     Public Property Get File()
'         File = m_FileName
'     End Property
   
    'ÉèÖöÔδָ¶¨µÄ±ê¼ÇµÄ´¦Àí·½Ê½£¬ÓÐkeep¡¢remove¡¢commentÈýÖÖ
    Public Sub set_unknowns(ByVal unknowns)
        m_Unknowns = unknowns
    End Sub
    Public Function get_unknowns()
        get_unknowns = m_Unknowns
    End Function
    Public Property Let Unknowns(ByVal unknown)
        m_Unknowns = unknown
    End Property
    Public Property Get Unknowns()
        Unknowns = m_Unknowns
    End Property
   
    Public Sub set_block(ByVal Parent, ByVal BlockTag, ByVal Name)
        Dim Matches
        m_RegExp.Pattern = "<!--/s+BEGIN " & BlockTag & "/s+-->([/s/S.]*)<!--/s+END " & BlockTag & "/s+-->"
        If Not m_BlockList.Exists(Parent) Then ShowError("δָ¶¨µÄ¿é±ê¼Ç" & Parent)
        set Matches = m_RegExp.Execute(m_BlockList.Item(Parent))
        For Each Match In Matches
            m_BlockList.Add BlockTag, Match.SubMatches(0)
            m_BlockList.Item(Parent) = Replace(m_BlockList.Item(Parent), Match.Value, "{" & Name & "}")
        Next
        set Matches = nothing
    End Sub
   
    Public Sub set_var(ByVal Name, ByVal Value, ByVal Append)
        Dim Val
        If IsNull(Value) Then Val = "" Else Val = Value
        If m_ValueList.Exists(Name) Then
            If Append Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & Val _
            Else m_ValueList.Item(Name) = Val
        Else
            m_ValueList.Add Name, Value
        End If
    End Sub
   
    Public Sub unset_var(ByVal Name)
        If m_ValueList.Exists(Name) Then m_ValueList.Remove(Name)
    End Sub
   
    Private Function InstanceValue(ByVal BlockTag)
        Dim keys, i
        InstanceValue = m_BlockList.Item(BlockTag)
        keys = m_ValueList.Keys
        For i=0 To m_ValueList.Count-1
            InstanceValue = Replace(InstanceValue, "{" & keys(i) & "}", m_ValueList.Item(keys(i)))
        Next
    End Function
   
    Public Sub parse(ByVal Name, ByVal BlockTag, ByVal Append)
        If Not m_BlockList.Exists(BlockTag) Then ShowError("δָ¶¨µÄ ¿é±ê¼Ç" & Parent)
        If m_ValueList.Exists(Name) Then
            If Append Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & InstanceValue(BlockTag) _
            Else m_ValueList.Item(Name) = InstanceValue(BlockTag)
        Else
            m_ValueList.Add Name, InstanceValue(BlockTag)
        End If
    End Sub
   
    Private Function finish(ByVal content)
        Select Case m_Unknowns
            Case "keep" finish = content
            Case "remove"
                m_RegExp.Pattern = "/{[^ /t/r/n}]+/}"
                finish = m_RegExp.Replace(content, "")
            Case "comment"
                m_RegExp.Pattern = "/{([^ /t/r/n}]+)/}"
                finish = m_RegExp.Replace(content, "<!-- Template Variable $1 undefined -->")
            Case Else finish = content
        End Select
    End Function
   
    Public Sub p(ByVal Name)
        If Not m_ValueList.Exists(Name) Then ShowError("²»´æÔڵıê¼Ç" & Name)
        Response.Write(finish(m_ValueList.Item(Name)))
    End Sub
End Class
%>

¡¡¡¡3¡¢Ê¹ÓÃÀý×Ó

¡¡¡¡ÏÂÃæ¾ÙÈý¸öÀý×Ó½øÐÐ˵Ã÷¡£

¡¡¡¡1)¼òµ¥µÄÖµÌæ»»

¡¡¡¡Ä£°åÎļþΪmyTemple.tpl£¬ÄÚÈÝ£º

<html><title>ASPÄ£°å¼òµ¥Ìæ»»</title><body>
×£ºØ£¡ÄãÓ®ÁËÒ»Á¾{some_color}·¨À­Àû£¡
</body>

ÏÂÃæÊÇASP´úÂ루kktTemplate.inc.asp¾ÍÊÇÉÏÃæ¸ø³öµÄÄ£°åÀࣩ£º

<!--#INCLUDE VIRTUAL="kktTemplate.inc.asp"-->
<%
dim my_color, kkt
my_color = "ºìÉ«µÄ"
set kkt = new kktTemplate                 '´´½¨Ä£°å¶ÔÏó
kkt.set_file "hndKktTemp", "myTemple.tpl" 'ÉèÖò¢¶Áȡģ°åÎļþmyTemple.tpl
kkt.set_var "some_color", my_color, false 'ÉèÖÃÄ£°å±äÁ¿ some_color = my_colorµÄÖµ
kkt.parse "out", "hndKktTemp", false      'Ä£°å±äÁ¿ out = ´¦ÀíºóµÄÎļþ
kkt.p "out"                               'Êä³öoutµÄÄÚÈÝ
set kkt = nothing                         'Ïú»ÙÄ£°å¶ÔÏó
%>

Ö´ÐкóÊä³öΪ£º
<html><title>ASPÄ£°å¼òµ¥Ìæ»»</title><body>
×£ºØ£¡ÄãÓ®ÁËÒ»Á¾ºìÉ«µÄ·¨À­Àû£¡
</body>


2)Ñ­»·¿éÑÝʾÀý×Ó

Ä£°åÎļþmyTemple2.tpl£º
<html><title>ASPÄ£°å£­¿éµÄÑÝʾ</title><body>
<table cellspacing="2" border="1"><tr><td>ÏÂÃæµÄ¶¯ÎïÄúϲ»¶ÄÄÒ»ÖÖ</td></tr>
<!-- BEGIN AnimalList -->
<tr><td><input type="radio" name="chk">{animal}</td></tr>
<!-- END AnimalList -->
</table>
</body>

ASP´úÂ룺

<!--#INCLUDE VIRTUAL="kktTemplate.inc.asp"-->
<%
dim animal, kkt, i
animal = Array("СÖí","С¹·","Сǿ")
set kkt = new kktTemplate
kkt.set_file "hndKktTemp", "myTemple2.tpl"
kkt.set_block "hndKktTemp", "AnimalList", "list"
for i=0 to UBound(animal)
    kkt.set_var "animal", animal(i), false
    kkt.parse "list", "AnimalList", true
next
kkt.parse "out", "hndKktTemp", false
kkt.p "out"
set kkt = nothing
%>
 
Ö´Ðнá¹û£º

<html><title>ASPÄ£°å£­¿éµÄÑÝʾ</title><body>
<table cellspacing="2" border="1"><tr><td>ÏÂÃæµÄ¶¯ÎïÄúϲ»¶ÄÄÒ»ÖÖ</td></tr>
<tr><td><input type="radio" name="chk">СÖí</td></tr>
<tr><td><input type="radio" name="chk">С¹·</td></tr>
<tr><td><input type="radio" name="chk">Сǿ</td></tr>
</table>
</body>
                                       

3)ǶÌ׿éÑÝʾ

Ä£°åÎļþmyTemple3.tpl£º

<html><title>ASPÄ£°å£­Ç¶Ì׿éÑÝʾ</title>
<body><table width="400" border="1" bordercolor="#000000">
  <tr><td><div align="center">{myname}²âÊÔ</div></td></tr>
  <tr><td>Îҵֲ͝ÎïÔ°£º</td> </tr>
<!-- BEGIN animalList -->
  <tr><td>{animal}</td></tr>
  <!-- BEGIN plantList -->
    <tr><td>&nbsp;&nbsp;{plant}</td></tr>
  <!-- END plantList -->
<!-- END animalList -->
</table>
</body>
</html>

ASP´úÂ룺

<!--#INCLUDE VIRTUAL="kktTemplate.inc.asp"-->
<%
dim my_color, kkt, myname, animal, plant
set kkt = new kktTemplate
myname = "kktTemplate block test..."
animal = array("¶¯Îï", "Ö²Îï")
plant  = array(array("СÖí","С°×","Сǿ"), array("õ¹å","ÏòÈÕ¿û"))

kkt.set_file "hndKktTemp", "myTemple3.tpl"
kkt.set_var "myname", myname, false
kkt.set_block "hndKktTemp", "animalList", "a"
kkt.set_block "animalList", "plantList", "p"

for i=0 to UBound(animal)
   kkt.set_var "animal", animal(i), False
   kkt.unset_var "p" 
   'kkt.set_var "p", "", false
   for j=0 to UBound(plant(i))
        kkt.set_var "plant", plant(i)(j), false
        kkt.parse "p", "plantList", true
   next
   kkt.parse "a", "animalList", true
next
kkt.parse "out", "hndKktTemp", false
kkt.p "out"
%>

Ö´Ðнá¹û£º
<html><title>ASPÄ£°å£­Ç¶Ì׿éÑÝʾ</title>
<body><table width="400" border="1" bordercolor="#000000">
  <tr><td><div align="center">kktTemplate block test...²âÊÔ</div></td></tr>
  <tr><td>Îҵֲ͝ÎïÔ°£º</td> </tr>
  <tr><td>¶¯Îï</td></tr>
    <tr><td>&nbsp;&nbsp;СÖí</td></tr>
    <tr><td>&nbsp;&nbsp;С°×</td></tr>
    <tr><td>&nbsp;&nbsp;Сǿ</td></tr>
  <tr><td>Ö²Îï</td></tr>
    <tr><td>&nbsp;&nbsp;õ¹å</td></tr>
    <tr><td>&nbsp;&nbsp;ÏòÈÕ¿û</td></tr>
</table>
</body>
</html>

¡¡¡¡±¾ÎÄÌá¼°µÄËùÓдúÂë¿É´Ó´Ë´¦ÏÂÔØ£ºhttp://www.freewebs.com/kacarton/web/kktTemplate.rar(3.53K)

¡¡¡¡4¡¢Ð¡½á

¡¡¡¡±¾ÎÄÖ÷Òª½éÉÜÁË»ùÓÚASPÀûÓÃÄ£°åÀàʵÏÖ´úÂëÓëÒ³Ãæ·ÖÀëµÄ·½·¨£¬µ±È»»¹ÓÐÆäËü¸üºÃµÄ½â¾ö·½°¸¡£±¾ÎÄÖ¼ÔÚÅ×שÒýÓñ¸÷λ¶ÁÕß¡¢WEB¿ª·¢²ÎÓë½øÀ´£¬¶àÌᱦ¹óÒâ¼û£¬¶à×÷½»Á÷£¬¹²Í¬½ø²½£¡