转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
浅析CMS内容管理系统的两种方案之二         ★★★★

浅析CMS内容管理系统的两种方案之二

作者:闵涛 文章来源:闵涛的学习笔记 点击数:612 更新时间:2009/4/23 11:30:32
  上篇讲到了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文件就创建好了。


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台