Coldfusion MX技巧精华收集之2第1/6页

设定你的根目录

作者: Kyle 2/16/03

内容:

设定你的根目录
网站开发人员向来都一直必须在相对路径 vs. 绝对路径这项议题上面打转。在 ColdFusion 环境里面,你可以在多个不同页面使用 CFINCLUDE 卷标,不过既然我们对于在哪个目录里面将会用到 CFINCLUDE 语法,因此在 CFINCLUDE 卷标里面使用相对路径经常会造成很多麻烦。

举例来说,某个被包含的选单里面可能有一个指向网站首页的连结,像下面这样:

<A HREF="index.cfm">Home Page</A> 
在网站根目录下面的任何档案引入这个包含档都不会有问题。但是如果你在某个次目录下的一个档案里面引入这个选单档案,那么上面这个超链接便会失效,或者至少会连结到错误的页面去。这时候你实际上会希望这个超链接是写成这样:

<A HREF="../index.cfm">Home Page</A> 
有两种方式可以克服这个问题。一个是在超链接里面直接使用绝对路径。要使用这个作法,你必须在 ColdFusion 里面预先设定好一个路径对应关系(mapping)。你可以在 ColdFusion 管理员(ColdFusion Administrator)的「路径对应(Mappings)」区块里面建立这些对应关系。一旦你建立好了路径对应关系,你便可以把指向网站首页的超链接写成下面这个样子:

<A HREF="/mymapping/index.cfm>Home Page</A> 
如果你使用了绝对路径,那么不论你在那个位置引入这个档案,该档案里面的超链接永远都会保持有效。我通常使用一个叫做 APPLICATION.RootDir 的应用程序变量来储存这项路径对应设定,并且在超链接里面直接套用这个变量。使用这个作法,如果我真有必要修改目录结构或者路径对应的名称,那么我只需要修改这么一个变量的值就可以了。

<CFSET APPLICATION.RootDir = "/MyMapping"> 
如果你套用这个变量,你的超链接看起来会像下面这样:

<A HREF="#APPLICATION.RootDir#/index.cfm"> 
在每个页面的开端建立这样的变量,那么你就可以在该页面的其它部分套用这个变量的值。包含档案运作起来就像该档案的内容实际上真的被写入原有页面一样,因此如果档案 A 引入了档案 B,那么在档案 B 里面我们便可以直接参照到档案 A 里面的变量值:

<!--- 在每个页面设定 RootDir 变量值 --->
<CFSET RootDir ="../">
<!--- 在被引入的页面中参照 RootDir 变量的值(只要确定这个变量确实有被定义即可,否则在引入档案的时候会出现错误讯息) --->
<A HREF="#RootDir#news/newspage.cfm"></code>

当前1/6页 123456下一页阅读全文

(0)

相关推荐

  • Coldfusion MX技巧精华收集之2第1/6页

    设定你的根目录 作者: Kyle 2/16/03 内容: 设定你的根目录 网站开发人员向来都一直必须在相对路径 vs. 绝对路径这项议题上面打转.在 ColdFusion 环境里面,你可以在多个不同页面使用 CFINCLUDE 卷标,不过既然我们对于在哪个目录里面将会用到 CFINCLUDE 语法,因此在 CFINCLUDE 卷标里面使用相对路径经常会造成很多麻烦. 举例来说,某个被包含的选单里面可能有一个指向网站首页的连结,像下面这样: <A HREF="index.cfm"&

  • Coldfusion MX技巧精华收集(1)第1/5页

    Coldfusion 结合 Access 中文显示问题 作者: Kyle 12/11/02 内容: 首先,在每一页要传递和处理中文的页面顶部加上如下代码(也可以放在application.cfm里,但在有些情况下会有问题): <cfprocessingdirective pageencoding="gb2312">  <cfcontent type="text/html; charset=gb2312">  <cfset setEnco

  • ColdFusion MX 轻松制作 FLASH的方法第1/3页

    一 简介 自从ColdFusion(以下简称CF)被Macromedia公司收购了以后,MM公司将CF在FLASH应用又提升了一个层次,利用CF可以动态的和FLASH集成.其中最长用的是HARPOON,但是CF在FLASH图表方面的作用却很少有人知道.今天我要讲的就是FLASH在CF中最被看好的特性之一,内建图表. 首先我们需要工具,动态的生成FLASH图表全靠Macromedia Generator,Generator是FLASH输出服务器用来发动CF制图的引擎.Generator制图一般的过

  • ColdFusion MX 远程服务实例入门教程

    这个教程分二个部分:1 创建CF组件2创建flash应用.在开始之前请新建一个站点.一 创建CF组件:这里我们创建一个组件 定义二个函数[chaxun1,chaxun2],函数使用exampleapps 数据库源,返回一个查询结果对象, flash电影文件调用组件方法和接收返回的查询结果.chaxun1函数需要三个参数,这些参数从flash电影中传递过来.(参数为xing ming cheng)    创建的步奏如下所示: 使用dwmx(Dreamweaver MX的简称,下同), 文件→新建:

  • Coldfusion MX PageList 菜鸟版教程

    最初写的: 1.可以实现的功能: 首页,末页,上一页,下一页以及指定页的跳转. 首页末页有自动隐藏的功能. 跳转下拉菜单动态显示当前页码和总页数. 2.原理 核心原理参考Codefusion MX 附带的Compass Travel例子 中tripdetail.cfm的翻页原理.即假设当前页为第6页,对数据库进行查询,返回数maxRows 定为1,查上一页就是对小于6的数进行倒序查询,得出的结果是5,4,3...,因为只返回一个值,所以就得到了5.其他的同理. 3.使用方法 将代码放入要实现pa

  • Coldfusion MX广告轮换系统制作教程

    wait 蓝色理想CF里面没有提供象ASP里那样的广告组件,但是这并不能说明就不能做出功能强大的广告系统,这里我放上一个简单的广告轮换系统,也是我CCF论坛里面用的.功能,有显示次数和点击次数.在这基础上扩展比较容易,可以分类显示,下面的代码只是显示 大广告条.只是想抛砖引玉,大家举一反三,就能做出功能更加强大的广告系统出来. <!--- 判断是否有地址传递 ---> <CFIF NOT IsDefined("URL.ADID")> <!--- 默认为显示

  • Coldfusion MX PageList之骨灰版

    你要的功能都在这里,注意是PAGELIST,这是CCF核心代码之一,相信能比我这代码还少的PAGELIST少了.功能绝对没有打折扣.包括 pagelist 首页/末页,上页/下页, 页码可以设置显示数字多少,这避免了数量一多起来把pagelist拉的好长....  在调用PAGELIST的源文件中定义下面这些变量:  <cfset rowsperpage=10> <!---每页显示记录的数量-----> <cfparam name="URL.startrow&quo

  • javascript 常用代码技巧大收集

    1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 <input type="text" value="郭强" onfocus="if(value=='郭强') {value=''}" onblur="if (value=='') {value='郭强'}">点击时文字消

  • 60个很实用的jQuery代码开发技巧收集

    由于内容比较多建议用CTRL+F搜索 偶然在网上看到这些不错的jQuery代码开发技巧.原文收集了30个,另外查找的时候发现了还有20个.加上另外十个实用的jQuery代码片段,共60个代码技巧,收集在一起分享给大家. 1. 创建一个嵌套的过滤器 .filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素 2. 重用你的元素查询 var allItems = $("div.item"); var keep

  • ColdFusionMX 编程指南 基础管理操作以及入门程

    第二期:基础管理操作以及入门程序 序言 在讲解ColdFusion MX的基础管理操作以及入门程序之前,先来了解一下ColdFusion MX各种版本之间的差别.ColdFusion MX目前分为商用版本和开发者版本两部分,而商用版本又包括专业版和企业版两种.顾名思义,开发者版本是提供给开发者个人使用的版本,该版本在功能上做了一些限制.比如使用开发者版本的ColdFusion MX Server在同时访问的ip上做了限制,还有就是没有Macromedia Cluster的支持(web均衡负载),

随机推荐