第六十二 CSP的常见问题 - CSP进程是否消耗许可证?,我如何编译CSP页面
CSP进程是否消耗许可证?
否,许可证与CSP
会话相关联。CSP
进程本身(如CSP
工作进程和服务器进程)不使用许可证。
如何在CSP
页面上显示缓存变量或表达式?
可以在运行时使用“#(Var)#
”或“#(表达式)#
”将变量或表达式合并到页面中。例如:
#(名称)#
,其中设置了名称#($G(%quest.Get(“Username”)#
,从URL
中检索用户名-
(2+7+3)#
,网页显示12
它们之间的区别是什么“#(var)#
” and “##(var)##
”?
语法“#()#
”将圆括号内的表达式替换为其运行时值。编译页面时,语法“##()##
”用变量或表达式的值替换变量或表达式。
为了说明不同之处,请将以下代码样例放在CSP页面中
Runtime: #($P($H,",",2))#
Compile Time: ##($P($H,",",2))##
在浏览器中打开页面并刷新几次。请注意,每次刷新页面时,Runtime
值都会更改。编译时间值保留页面的编译时间;它仅在重新编译页面时更改。
“#INCLUDE
”和“CSP:INCLUDE
”有什么区别?
#INCLUDE
指令允许在页面中包含任何文本:JavaScript
、html
、纯文本、CSP
。
<csp:include>
标记包含一个格式正确的CSP
页面;它使用ServerSideReDirect
插入该页面,然后返回处理原始页面。
我如何编译CSP
页面?
默认情况下,如果页面已更改(基于其时间戳),则浏览器在加载CSP
页面时会自动编译这些页面。也可以在Studio
中或从终端手动编译CSP
页面。在任何一种情况下,都可以控制是否保留生成的源代码。
要使用Studio
编译CSP
页面:
- 在“工具”菜单上,单击“选项”,然后单击“编译”选项卡。
- 选中保留生成的源代码复选框并单击确定。
- 通过单击“编译”,从“构建”菜单编译
CSP
页面。
要从终端编译CSP
页面:
- 在终端中,确保位于正确的名称空间中。否则,通过输入以下命令来更改名称空间:
zn "<namespace>"
- 类型:
do $System.CSP.LoadPage(“/csp/<namespace>/<pagename>.csp", "ck")
例如:
SAMPLES> do $System.CSP.LoadPage("/csp/samples/james.csp", "ck")
注意:“k
”标志告诉编译器“保留生成的源代码”