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

首頁 > 學院 > 開發設計 > 正文

淺析CMS內容管理系統的兩種方案之二

2019-11-18 11:36:35
字體:
來源:轉載
供稿:網友

  上篇講到了XSL和xml如何在客戶端瀏覽。也是CMS內容治理系統內容發布的一種形式,即XSL(模版)+XML(內容)。

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

  這就是所說的CMS內容治理系統內容發布的第二種形式HTML或者SHTML。

  在java中有很多方式來實現,首先是先產生XSL文件,即模版文件。

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

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

  下面接著談談CMS內容治理系統的兩種方案:XSL+XML和HTML (一)的例子,說明XSL模版文件的Java實現。

  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來實現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;
}

// 創建document import org.dom4j.DocumentHelper; import org.dom4j.Document;
Document document = DocumentHelper.parseText(xslContent);
  補充創建完document之后需要三個參數

  ·創建好的Document document

  ·要創建XSL文件的地址String path

  ·創建文件的編碼格式String charsetName

document.setXMLEncoding(charsetName);
FileOutputStream fos = new FileOutputStream(path);
OutputStreamWriter osw = new OutputStreamWriter(fos, charsetName);
document.write(osw);
osw.close();
fos.close();
  這樣XSL文件就創建好了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四川省| 和政县| 红原县| 鄂伦春自治旗| 龙海市| 奇台县| 黎平县| 江门市| 庆元县| 绥滨县| 手游| 汉川市| 兴山县| 塔城市| 翁牛特旗| 武城县| 张家界市| 高雄市| 洛川县| 积石山| 新昌县| 五河县| 六盘水市| 成都市| 阳春市| 泰顺县| 玉溪市| 台北市| 张家口市| 凤凰县| 大竹县| 乌兰浩特市| 札达县| 大同市| 尚志市| 姜堰市| 老河口市| 和林格尔县| 广元市| 清新县| 田林县|