仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 713|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计浅析CMS内容办理体系的两种计划之二

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:42:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你觉得学习.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

<?xmlversion="1.0"encoding="UTF-8"?>
<xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform"version="1.0">
<xsl:outputmethod="html"/>
<xsl:templatematch="/article">
<tablecellspacing="1"cellpadding="1"width="200"border="1">
<tbody>
<tr>
<td><xsl:value-ofselect="title"/></td>
<td><xsl:value-ofselect="click"/></td>
</tr>
<tr>
<td><xsl:value-ofselect="date"/></td>
<td><xsl:value-ofselect="author"/></td>
</tr>
<tr>
<td><xsl:value-ofselect="content"disable-output-escaping="yes"/></td>
<td>测试ByGlandJacky</td>
</tr>
</tbody>
</table>
</xsl:template>
</xsl:stylesheet>
  起首必需先获得要转化为XSL代码的字符串StringxslContent

  利用dom4j来完成XSL

//XSL代码的头

StringXSL_HEAD="<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEroot[<!ENTITYnbsp" ">]><xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform"version="1.0"><xsl:outputmethod="html"/><xsl:templatematch="/root">";

//XSL代码的尾
StringXSL_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><metacontent="text/html;charset=utf-8"http-equiv="content-type"/>"+xslContent+"</HTML>"+XSL_END;
}

//创立documentimportorg.dom4j.DocumentHelper;importorg.dom4j.Document;
Documentdocument=DocumentHelper.parseText(xslContent);
  增补创立完document以后必要三个参数

  ・创立好的Documentdocument

  ・要创立XSL文件的地点Stringpath

  ・创立文件的编码格局StringcharsetName

document.setXMLEncoding(charsetName);
FileOutputStreamfos=newFileOutputStream(path);
OutputStreamWriterosw=newOutputStreamWriter(fos,charsetName);
document.write(osw);
osw.close();
fos.close();
  如许XSL文件就创立好了。C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-19 21:19:08 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-28 11:26:05 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
若相依 该用户已被删除
地板
发表于 2015-2-5 21:11:14 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-13 15:45:38 | 只看该作者
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
飘飘悠悠 该用户已被删除
6#
发表于 2015-3-11 14:46:06 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
若天明 该用户已被删除
7#
发表于 2015-3-19 00:18:50 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
透明 该用户已被删除
8#
发表于 2015-3-26 21:52:12 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 22:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表