Re: [zope-chinese] 关 于ZOPE中的变量值的两个问题!多谢了!

Gary Jia <[email protected]> Wed, 7 Sep 2005 10:04:46 +0800
Newsgroups gmane.comp.web.zope.chinese
Message-ID <[email protected]>
在 05-9-6,brallow<[email protected]> 写道:
> 1:在 DTML定义的变量如何才能修改这个变量的值?
> 比如:
> <dtml-let a="">
> 我还可以再修改这个a的值为别的值吗?
不能,let 定义的是常量。
可以用<dtml-call "REQUEST.set('a', 1)">

> 2:我可以使用多种可能的方法来实现一个变量值的定义或者初始化吗?比如:
> <dtml-if x>
>     <dtml-let a="">
> <dtml-else>
>     <dtml-let a="">
> </dtml-if>
>     </dtml-let>
> 如果不能的话应该如何解决这一种?初始值不同的情况呢?
首先语法不对,同样可以用上面的办法解决:
<dtml-call "REQUEST.set('a', 1)">


> 3:如何来解决参数可能不存在时的问题?特别是DTML的script对象。
> 比如:我要从request中提取一个form的value,但是这个form可能不存在,则如何处理呢?
> 如果我是用dtml-var,则可以使用missing属性,可是如果是dtml方法或者 sciprt调用的参数则应当如何处理呢?

可以用: REQUEST.get('a', None) None是预设值可以改成你需要的,或者用:REQUEST.has_key('a')存在返回真否则返回假。
这些都是zope的request的最基本的用法,建议你看:zope api reference 里面关于module REQUEST的章节在这里可以找到:
http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AppendixB.stx
建议你顺便了解一下module RESPONSE。在zope里面都是非常常用的东东。

_______________________________________________
zope-chinese list
[email protected]
http://zope.cn/mailman/listinfo/zope-chinese