All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
visual c++中字体类CFont的用法
利用UrlRewrite,asp.net动态生成htm页面(补充说明)_[Asp.Net教程]
C#教程:Web服务概述
ASP.NET中Multi——ListBox控件编程详解_.net资料_编程技术
SQL Server定时作业的设置方法_[SQL Server教程]
详细学习动态网页制作PHP技术的正则表达式_[PHP教程]
PHP脚本的8个技巧(3)包含文件_[PHP教程]
ASP.NET中多国语言的实现_[Asp.Net教程]
正则表达式限制文本框只能输入数字,小数点,英文字母,汉字
SQL Server 索引基础知识(2)----聚集索引,非聚集索引_[SQL Server教程]
Reading number is top 10 pictures
2012 national geographic daily picture9
囚犯暴乱了咋办?
六种更聪明的工作方法
住院一星期,检测费两万
人造器官和铁肺人
乳娘帕梅拉安德森2
So beauty, will let you spray blood5
粉红蕾丝的美女
Household design comfortable contracted
Look for from human art net, is good--2
Download software ranking
仙剑奇侠传98硬盘WINXP版
The cock of the Grosvenor LTD handsome
JSP+Ajax Web development typical examples
Tram sex maniac 2 (H) rar bag13
Love the forty days
网络管理员第三版
DreamWeaver8
Unix video tutorial12
Tram sex maniac 2 (H) rar bag1
Boxer's Top ten classic battle10
delv published in(发表于) 2014/1/6 9:13:42 Edit(编辑)
浅析CMS内容管理系统的两种方案之二_[Asp.Net教程]

浅析CMS内容管理系统的两种方案之二_[Asp.Net教程]

浅析CMS内容管理系统的两种方案之二_[Asp.Net教程]

上篇讲到了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文件就创建好了。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.