国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

淺析CMS內容管理系統(tǒng)的兩種方案之二

2024-07-21 02:28:54
字體:
來源:轉載
供稿:網(wǎng)友
  • 本文來源于網(wǎng)頁設計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。
  •   上篇講到了xsl和xml如何在客戶端瀏覽。也是cms內容管理系統(tǒng)內容發(fā)布的一種形式,即xsl(模版)+xml(內容)。

      但是現(xiàn)實情況是由客戶端瀏覽器不支持,這樣做還會給服務器造成一定的負載,能夠減輕服務器服務負載的最好方法就是完全實現(xiàn)靜態(tài)頁面的內容訪問機制,當然這樣就需要再次將xsl和xml生成html或者shtml。

      這就是所說的cms內容管理系統(tǒng)內容發(fā)布的第二種形式html或者shtml。

      在java中有很多方式來實現(xiàn),首先是先產生xsl文件,即模版文件。

      當然我們首先要統(tǒng)一編碼,所有的文件編碼都為“utf-8”,符合全球化標準。即產生的文件編碼格式為“utf-8”,數(shù)據(jù)庫編碼格式為“utf-8”,自動生成的xsl文件、xml文件、html文件、shtml文件的格式都必須為“utf-8”,當然還包括文件內部的聲明也都必須為“utf-8”,當然請不要搞混了文件編碼格式和文件內部聲明,我覺得初學者最容易搞混。文件編碼格式就是文件的屬性,文件本身是用什么編碼格式生成的,而文件內部聲明指的是文件內容中也需要制定編碼。

      目的當然很簡單且明確,防止出現(xiàn)大家頭疼的亂碼~

      下面接著談談cms內容管理系統(tǒng)的兩種方案:xsl+xml和html (一)的例子,說明xsl模版文件的java實現(xiàn)。

      xsl文件:test.xsl

    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0">
    <xsl:output method="html" />
    <xsl:template match="/article">
    <table cellspacing="1" cellpadding="1" width="200" border="1">
    <tbody>
    <tr>
    <td><xsl:value-of select="title" /></td>
    <td><xsl:value-of select="click" /></td>
    </tr>
    <tr>
    <td><xsl:value-of select="date" /></td>
    <td><xsl:value-of select="author" /></td>
    </tr>
    <tr>
    <td><xsl:value-of select="content" disable-output-escaping="yes" /></td>
    <td>測試by glandjacky</td>
    </tr>
    </tbody>
    </table>
    </xsl:template>
    </xsl:stylesheet>

      首先必須先取得要轉化為xsl代碼的字符串string xslcontent

      使用dom4j來實現(xiàn)xsl

    //xsl代碼的頭

    string xsl_head = "<?xml version=/"1.0/" encoding=/"utf-8/"?><!doctype root [<!entity nbsp /" /">]><xsl:stylesheet xmlns:xsl=/"http://www.w3.org/1999/xsl/transform/" version=/"1.0/"><xsl:output method=/"html/" /><xsl:template match=/"/root/">";

    //xsl代碼的尾
    string xsl_end = "</xsl:template></xsl:stylesheet>";


    //添加模版文件的中html代碼
    if (xslcontent.substring(0,6).touppercase().equals("<html>")){
    xslcontent = xsl_head + xslcontent + xsl_end;
    }else{
    xslcontent = xsl_head +"<html><meta content=/"text/html;charset=utf-8/" http-equiv=/"content-type/" />"+ xslcontent+ "</html>" + xsl_end;
    }

    // 創(chuàng)建document import org.dom4j.documenthelper; import org.dom4j.document;
    document document = documenthelper.parsetext(xslcontent);

      補充創(chuàng)建完document之后需要三個參數(shù)

      ·創(chuàng)建好的document document

      ·要創(chuàng)建xsl文件的地址string path

      ·創(chuàng)建文件的編碼格式string charsetname

    document.setxmlencoding(charsetname);
    fileoutputstream fos = new fileoutputstream(path);
    outputstreamwriter osw = new outputstreamwriter(fos, charsetname);
    document.write(osw);
    osw.close();
    fos.close();

      這樣xsl文件就創(chuàng)建好了。
    發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 西乡县| 青神县| 义乌市| 西乌珠穆沁旗| 五台县| 凉城县| 奉节县| 南陵县| 壶关县| 偃师市| 霍城县| 行唐县| 阿合奇县| 临汾市| 农安县| 安远县| 舞钢市| 海宁市| 桦南县| 宿松县| 新河县| 和政县| 常德市| 延吉市| 晋城| 嘉祥县| 阿瓦提县| 浑源县| 靖安县| 长泰县| 井研县| 枣强县| 左权县| 广平县| 凤翔县| 年辖:市辖区| 保亭| 合肥市| 铅山县| 绵阳市| 玉田县|