kenlistian

勤学多思

  IT博客 :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  412 随笔 :: 0 文章 :: 23 评论 :: 0 Trackbacks

#


Ext 中有模板,其实就是页面代码变量替换前的页面字符串而已。
如下:
  var html = '<a id="{id}" href="{url}" class="nav">{text}</a><br />';

 var tpl = new Ext.XTemplate(html);    //加入字符串
 tpl.compile();                       //编译下,优化性能


 填充二行数据,其中id,url,text,就是设置的变量替换。
  tpl.append('blog-roll', {
id: 'link1',
url: 'http://www.jackslocum.com/',
text: "Jack's Site"
});
tpl.append('blog-roll', {
id: 'link2',
url: 'http://www.extjs.com/',
text: "Jack's New Site"
});




如果html太长又不想显示,可以调用函数ellipsis()来截断多余部分,并用...来显示
如下:
var content = 'test test test test test test test test';
var myTpl = new Ext.Template('<div>{content:ellipsis(10)}<br/>
<a href="{moreLink}">Read More</a></div>');








还有其他函数可以处理该字符串:
  • undef -检查一个值是否为underfined,如果是的转换为空值
  • htmlEncode - 转换(&, <, >, and ') 字符
  • trim - 对一段文本的前后多余的空格裁剪
  • substr(start, length) - 返回一个从指定位置开始的指定长度的子字符串。
  • lowercase - 返回一个字符串,该字符串中的字母被转换为小写字母。
  • uppercase - 返回一个字符串,该字符串中的字母被转换为大写字母。
  • capitalize - 返回一个字符串,该字符串中的第一个字母转化为大写字母,剩余的为小写。
  • usMoney - 格式化数字到美元货币。如:$10.97
  • date[(format)] - 将一个日期解析成为一个特定格式模式的日期。如日期字符串不输入,默认为“月/日/年”
  • stripTags - 剥去变量的所有HTML标签

其用法都是
var template = '模板字符串 :处理函数';
方式赋给new Ext.Template(template)









还可以自定义处理函数,在冒号前加入this.函数名,然后需要定义该函数,
如下:

var myTpl = new Ext.XTemplate('<div>User: {username} Password: {password:this.EncodeString}</div>');
myTpl.EncodeString = function(val) {
	return MD5(val)
};
myTpl.append(document.body, 
              {username: 'kenlistian', 
               password: '123'});		

更为复杂的模板构造和填入:采用了for =关键字,循环填入。

var iconTpl = new Ext.XTemplate(
'<fieldset><legend>{title}</legend>
<tpl for="iconArray">
<img src="{img}" width="16" height="16" /> {desc}<br/>
</tpl>
</fieldset>'
);

var tplObj = {
title: 'Order Legend',
iconArray: [
{img: 'images/icons/cog_orange.png', desc: 'Active Order'},
{img: 'images/icons/stop.png', desc: 'Cancelled Order'},
{img: 'images/icons/tick.png', desc: 'Completed Order'}
]
};
iconTpl.compile();
iconTpl.append(document.body, tplObj);
 
 
在构造模板中还有if 关键字,如下模板格式,来自api document,
var tpl = new Ext.XTemplate(
    '<p>Name: {name}</p>',
    '<p>Kids: ',
    '<tpl for="kids">',
        '<tpl if="age > 1">',
            '<p>{name}</p>',
            '<p>Dad: {parent.name}</p>',
        '</tpl>',
    '</tpl></p>'
);
tpl.overwrite(panel.body, data);




自定义函数和if也可以组合成模板,这里不再叙述,见api 文档。


posted @ 2008-04-10 13:40 kenlistian| 编辑 收藏


1.编写一个test.js代码
  Ext.onReady(function() {

    source = '<p>测试Ext 例子:<br> ';
       var p = new Ext.Panel({
        title: 'study Ext',       
     collapsible: true,
     collapsed : true,
        renderTo: 'panel1',
        width:400,
        html: source
    });

  });


2.编写html文件,在html文件加上ext的库头文件。

3.把js文件的容器,比如<div id='panel'></div>添加上来,即可由ext的js
  来形成脚本运行。
 
        
       


posted @ 2008-04-09 22:59 kenlistian 阅读(1012) | 评论 (0)编辑 收藏


在firefox下的调试插件
1.FireBug
2.VenkMan
3.Web Developer

IE下面的调试工具
   需把IE选项里的禁止调试的勾子去掉,
  1.Firebug Lite 
  2. InterDev,
  3.office2003下的Office工具->HTML源文件编辑->web脚本创作->站点调试

    
posted @ 2008-04-08 18:01 kenlistian 阅读(307) | 评论 (0)编辑 收藏

JSON (Javascrīpt Object Notation)

优点:
1. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小
2. 易于解析这种语言, 客户端Javascrīpt可以简单的通过eval()进行JSON数据的读取
3. 支持多种语言, 包括Actionscrīpt, C, C#, ColdFusion, Java, Javascrīpt, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端的解析
4. 在PHP世界, 已经有PHP-JSON和JSON-PHP出现了, 便于PHP序列化后的程序直接调用. PHP服务器端的对象、数组等能够直接生JSON格式, 便于客户端的访问提取.
   另外PHP的PEAR类已经支持 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)
5. 因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护

缺点:
  没有XML格式深入人心和使用广泛, 没有XML那么通用性

 

xml和son的对比:

xml:

<menu id="file" value="File" >

<popup>

<menuitem value="New" onclick="CreateNewDoc()" />

<menuitem value="Open" onclick="OpenDoc()" />

<menuitem value="Close" onclick="CloseDoc()" />

</popup>

</menu>

son:

{"menu": {

"id": "file",

"value": "File:",

"popup": {

"menuitem": [

{"value": "New", "onclick": "CreateNewDoc()"},

{"value": "Open", "onclick": "OpenDoc()"},

{"value": "Close", "onclick": "CloseDoc()"}

]}

}}

以上可见:

1。对象object包含在{}中,

2。对象的属性member使用string : value 成对出现,属性与属性之间用逗号隔开,

3。数组array在[]中,如:[ elements ]

4。元素elements与元素之间用逗号隔开 elements , elements

5。元素值可具有的类型:string, number, object, array, true, false, null

 

应用范围;

     JSON主要用在AJAX中,由于在客户端使用JavaScript脚本,故使用JSON,将使得进程的响应变得更快

 

 

 

如何在asp中组织json

  很多语言支持json的编码和解码。php5.2以上,ruby等皆有对应的处理,在asp中需要自己去写,幸好网上有很多例子,

下面也列出一个asp把array数组组织到json的例子。

 

 'root json 数据名

Function json_encode(root , arr_data)
    If root = "" Then root = "root"

    str_Head = "{" & Chr(13) & Chr(9) & Chr(9) & root & ":{ " & Chr(13) & Chr(9) & Chr(9) &Chr(9) & Chr(9) & "arrs:[ " & Chr(13)

    str_Body = chr(9) & chr(9) & chr(9) & chr(9) & chr(9) & "{" 
    str_End =  "}" & Chr(13) & chr(9) & chr(9) & chr(9) & chr(9) & "]" & chr(13) & chr(9) & chr(9) & "}" &chr(13) & "}"
    for i = 0 to ubound(arr_data) - 1  
       str_Body = str_Body & chr(34) &  i  & chr(34) &":"          '   name
       str_Body = str_Body & chr(34) & arr_data(i) & chr(34) & ","    'value
    Next

    '去除记录最后一个字段后的","
    str_Body = left(str_Body,instrrev(str_Body,",")-1)
    json_encode = str_Head & str_Body + str_End

End Function

posted @ 2008-04-08 13:29 kenlistian 阅读(13300) | 评论 (0)编辑 收藏

AJAX与RIA共性:
都是WEB2.0的应用,都具有人性化的设计理念

AJAX与RIA表现形式:
AJAX比较简单素雅,人性化,访问速度快。缺点:代码混乱,编写复杂,不符合标准,对搜索引擎不友好。程序效率低。       (不见得,目前ajax框架日渐成熟,开发工具以及模式也近有小成)
RIA可扩展性更大,人性化更多,视觉和互动上更好,但缺点是访问速度慢,下载文件大,还有RIA应用程序特别耗CPU,程序效率比较低,很多问题还需要解决。 (目前到是感觉慢,随着硬件的发展,估计发展趋势上升)

 

细节区别:
  RIA  侧重用户交互层的设计及其概念,
  AJAX侧重是服务器数据处理及传输层面的方面,也有在UI上做模式规划。
  由于AJax在UI上没有RIA在交互层细节化的扩展和深入,在表现层方面AJAX后劲不足于RIA。

  HTML简单,但是即使简单的交互活动也仍然需要用很多的脚本来完成。这就是AJAX在日趋成熟框架下

   必然跟随一个大的脚本在后面做引擎驱动。

  而RIA先天利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速度快和图形丰富的用户界面外还有更多的包括图形方面的扩展,而这相对Ajax方面固然能实现,则需要使出吃奶力气才能完成。

 

 

 

Ajax定义:

daptive Path公司的Jesse James Garrett这样定义Ajax:

Ajax不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含:

基于XHTML和CSS标准的表示;
使用Document Object Model进行动态显示和交互;
使用XMLHttpRequest与服务器进行异步通信;
使用JavaScript绑定一切。

posted @ 2008-04-08 00:53 kenlistian 阅读(498) | 评论 (0)编辑 收藏

1.调试Javascript工具

    Firebug

   使用方法:http://www.ooso.net/index.php/archives/294

2.Aptana编辑jiavascript

       下载及其使用 http://blog.csdn.net/samehai/archive/2007/06/30/1672516.aspx

                            http://www.centuryidea.cn/?p=152&akst_action=share-this

       启动超慢,而且还要去破解,感觉还是太麻烦,

       不过,既然用了,就用用吧,

3.Ajax框架

       Ext2.0         http://extjs.com/download

    

 

备注:

   现在下载的版本估计升级了,如果找那个jar文件和以前所述不一致,不要紧,就是

找到那个core文件,解压后查找clientkey可以找到,然后在原jar处覆盖即可。

     Aptana 注册很麻烦。按照原博客方法做了。还要跑到下载处注册,获取key后,

     才能更新其正式版。完了就是正式版。

image

posted @ 2008-04-07 19:09 kenlistian 阅读(357) | 评论 (1)编辑 收藏

FreeBSD 的历史 http://tieba.baidu.com/f?kz=102941926

      2000 年 3 月 13 日出现了一个新的分支, 也就是 4.X-STABLE。这之后发布了许多的发行版本:
                                4.0-RELEASE 于 2000 年 3月发布, 而最后的 4.11-RELEASE 则是在 2005 年 1 月发布的。

  2003 年 1 月 19 日正式发布5.0-RELEASE 。这是将近三年的开发的巅峰之作, 同时也标志了  FreeBSD 在先进的多处理器和应用程序线程支持的巨大成就, 并引入
                                   了对于 UltraSPARC® 和 ia64 平台的支持。
      2003 年 6 月发布了 5.1。 最后一个 -CURRENT 分支的 5.X 版本是 5.2.1-RELEASE, 它在 2004 年 2 月正式发布。
                      RELENG_5 于 2004 年 8 月正式创建, 其后是 5.3-RELEASE,
                            它是 5-STABLE 分支的标志性发行版。 最新的 5.4-RELEASE 是在 May 2005 发布的, RELENG_5 分支还将有后续的发行版。
    
       2005 年 7 月建立了 RELENG_6 分支。 6.X 分支上的第一个版本, 即 6.0-RELEASE, 则是在  2005 年 11 月发布的。
                               最新的 6.1-RELEASE 发布于 May 2006。我们还将继续从 RELENG_6 发布新的版本。
       目前,中长期的开发项目继续在 7.X-CURRENT (主干, trunk) 分支中进行, 而 6.X 的 CDROM (当然, 也包括网络) 快照版本可以在 快照服务器找到.

 

  本来想装个7.0Release,但是看看其5.0Release也就是在2003年搞完,更新速度可谓够快,我的老机子上跑得还是2000,可见,找个6.1或者6.2即可。

  7.0以上固然不错,但是看过别人谈论,对机器配置要求高些,既然自己老机子上能跑一个稳如磐石的系统,又何须求太新呢。

下载FreeBSD一个地址:

http://download.chinaunix.net/download/0013000/12272.shtml

posted @ 2008-04-07 15:21 kenlistian 阅读(2133) | 评论 (0)编辑 收藏

 ubuntu下用什么下载,用多线程的axel,
  
axel,a light download accelerator for linux。不知道是不是这个的缩写。

先用sudo apt-get install alex下载,一般这个下绝对没问题

若是想傻傻的手工下载,则到
http://www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=mydown&did=1697
下载。
手工编译环境:
  tar zxvf axel-1.0a.tar.gz
  cd axel-1.0a/
  # ./configure && make && make install
  就ok。
 

在使用alex下载时,
方法很简单:
   axel url
如果想指定10个线程方式下载,则
 axel -n 10 -o /home/mypc/Desktop your download url
即可。
更多的帮助则敲击axel --help

一条命令比在windows下的迅雷,等等简单直接多了。
有时,简单的一个要求为什么变得需要学习那么多附加的麻烦事情呢。

ubuntu,让感受简单的精髓所吸引。







posted @ 2008-04-05 21:41 kenlistian 阅读(885) | 评论 (0)编辑 收藏

ubuntu下安装删除命令

  首次安装了ubuntu,以前玩过redlinux,又玩过红旗linux,都觉得某些方面操作麻烦,
主要是学习不是很上手,这次安装了 ubuntu,觉得ubuntu的确做得很成功,至少,在帮助方面,网上资料挺多,可以方便的了解到ubuntu的安装,而且在ubuntu下有个apt 命令,可以一个命令下安装,删除所安装的程序,而不需要自个儿到网站上下载以及解压,make等操作,当然除了特别外的需要自个儿解压安装外,其 ubuntu下的apt 安装提供了傻瓜式安装的方便快捷,看来ubuntu将非常火爆的流行开来。
  下面贴上apt命令参考,这也是作为自己的一个标记,以后可以直接在自己的博客翻略,而不需要google下查找了。


apt-cache search package        搜索包,如果你不知道具体包名,先
                             sudo apt-cache search packagename 一下。
                          这个命令是常用的,必须记住

apt-cache show packagename       获取包的信息,版本,大小之类的
apt-get install packagename         安装包,这个命令是最常用的。
apt-get install pacekage --reinstall   重新安装
apt-get -f install packagename       强行安装

apt-get remove packagename     remove alread package softe
apt-get remove packagename --pure     remove and all    安装了要干净的卸掉

apt-get autoremove        自动删除不要的包

apt-get update       
apt-get upgrade   更新已经安装的包
apt-get dist-upgrade   升级系统,没用过,

apt-cache depends pacakgename  了解使用的依赖,很少用
apt-cache rdepends packagename 了解具体的依赖。

apt-get build-dep packagename 安装相关的编译环境。  这个有时需要用。

apt-get source package   下载安装该包的源码,    编程时有时需要看(实际上有几个人看呢?)

apt-get clean
apt-get autoclean        清理下载文件存档。 常用,这个在安装完后,有时需要把下载的包给清除掉,毕竟不想让空间无谓的塞满不需要的东西吧。

apt-get check         检查是否有损坏的依赖。 很少用。


以上调用该命令时,都必须在sudo后运行,sudo缩写为supper do,而apt表示是
advanced pacakge Tool.
可以通过man apt获得更为详细的解释。


posted @ 2008-04-05 16:07 kenlistian 阅读(2001) | 评论 (0)编辑 收藏

  在ubuntu下用了几个博客工具,gnome-blog,以及drievt(?),感觉都比较差,看来还只有scribefire比较适合需要。

  安装完后,设置scribefire中的连接设置

  博客类型为自定义方式,类型为metaapi方式,填入
  http://www.cnitblog.com/kenlistian/services/metaweblog.aspx

即可。

posted @ 2008-04-05 13:34 kenlistian 阅读(307) | 评论 (0)编辑 收藏

仅列出标题
共42页: First 32 33 34 35 36 37 38 39 40 Last