MYCP CSP(C++ Server Page) 1.1
注释语句 CSP Comment
<%-- Comment 单行注释 --%>
<%--
Comment 多行注释
--%>
输出语句 Output
Format: <%=variable%>
Sample: <%=$var1%>
Sample: <%=P$UserName%>
| variable | 可以是用户变量$variable,临时变量$variable,也可以是普通字符串"variable"等;(以下同) |
<csp:write id="" scopy="" />
| id | 可以是变量$variable,临时变量$variable,也可以是变量字符串"variable";(以下同) |
| scopy | 如果是用户变量,指定变量存放区域;默认不填为page区域; |
<csp:write name="" property="" />
| name | APP服务名称 |
| property | 属性名称 |
- 提示: 可以按照以下格式组合使用 Can Usage:
<%=$var1%><csp:write id="$var2" />
变量 CSP Variable
Format : <csp:define id="var_name" value="var_value" />
定义变量var_name,初始化"var_value",默认使用字符串类型;
Format : <csp:define id="var_name" type="var_type" value="var_value" />
定义变量var_name,初始化"var_value",指定type类型;
Format : <csp:define id="var_name" name="app_name" property="app_property" />
定义变量var_name,初始化值,为app_name应用的app_property参数值;
Sample :
<csp:define id="$var1" value="100" />
定义字符串类型变量$var1,值为"100";
<csp:define id="$var1" type="int" value="100" />
定义整数类型变量$var1,值为100;
提示:用户定义变量必须以$开头,如$var1,依此类推;
- 定义只读变量(常量) Define Constant:
Format : <csp:define id="cons_name" value="var_value" property="const" />
定义常量cons_name,该常量值初始化后,不可更改;
Sample :
<csp:define id="$max_second" value="1000" type="int" property="const" />
提示:CSP支持首先使用定义变量功能,即不用通过定义,直接使用指定变量名称保存;
比较控制 if
<csp:if:equal id="var_name" value="compare_value" />
<csp:if:equal name="app_name" property="app_property" value="compare_value" />
<csp:if:equal name="app_name" property="app_property" id="compare_id" />
<csp:if:equal id="compare_id" name="app_name" property="app_property" />
<csp:if:equal id="var_name" value="compare_value" />
...
<csp:end>
true: 执行...语句
<csp:if:equal id="var_name" value="compare_value" />
true: ...
<csp:if:else>
else: ...
<csp:end>
true: 执行true: ...语句
false: 执行else: ...语句
- 多级比较 Multi-Level Compare:
<csp:if:equal id="var_name" value="compare_value" />
...
<csp:if:equal id="var_name" value="compare_value" />
...
<csp:if:else>
...
<csp:end>
从上往下执行,比较成功,执行对应...语句后,退出<csp:end>
<csp:if:equal id="var_name" value="compare_value" />
判断是否相等 Compare if equal.
<csp:if:notEqual id="var_name" value="compare_value" />
判断是否不相等 Compare if not equal
<csp:if:greater id="var_name" value="compare_value" />
判断是否大于 Compare if greater.
<csp:if:greaterEqual id="var_name" value="compare_value" />
判断是否大于或者等于 Compare if greater or equal.
<csp:if:less id="var_name" value="compare_value" />
判断是否小于 Compare if less.
<csp:if:lessEqual id="var_name" value="compare_value" />
判断是否小于或者等于 Compare if less or equal.
<csp:if:empty id="var_name" />
判断是否为空 Compare variable if empty.
<csp:if:notEmpty id="var_name" />
判断是否不为空 Compare variable if not empty.
<csp:if:exist id="var_name" />
判断变量是否存在 Compare variable if exist.
<csp:if:notExist id="var_name" />
判断变量是否不存在 Compare variable if not exist.
<csp:if:else>
判断为false,执行语句 Compare all else.
<csp:end>
结束语句 end.
循环 while
csp:while 跟 csp:if 语句完全一样比较方式
<csp:while:equal id="var_name" value="compare_value" />
...
<csp:end>
循环比较变量id跟值value的值;true: 执行...语句,直到false,退出<csp:end>;
| $inde | 当前索引序列 Current Index Variable. |
- 全部语句 All csp:while Compare:
<csp:while:equal id="var_name" value="compare_value" />
循环判断是否相等
<csp:while:notEqual id="var_name" value="compare_value" />
循环判断是否不相等
<csp:while:greater id="var_name" value="compare_value" />
循环判断是否大于
<csp:while:greaterEqual id="var_name" value="compare_value" />
循环判断是否大于或者等于
<csp:while:less id="var_name" value="compare_value" />
循环判断是否小于
<csp:while:lessEqual id="var_name" value="compare_value" />
循环判断是否小于或者等于
<csp:while:empty id="var_name" />
循环判断是否为空
<csp:while:notEmpty id="var_name" />
循环判断是否不为空
<csp:while:exist id="var_name" />
循环判断是否存在变量
<csp:while:notExist id="var_name" />
循环判断是否不存在变量
<csp:end>
结束语句
foreach
foreach 用于处理 VECTOR 变量
<csp:foreach id="var_vector" />
...
<csp:end>
循环处理类型VECTOR变量id的值;同时执行...语句
| $inde | 当前索引序列 Current Index Variable. |
| $value | 当前索引值 Current Value Variable. |
退出循环 break
退出循环语句,用于csp:while和csp:foreach循环;
<csp:break id="var_name" value="compare_value" />
如果id等于value值,退出循环;
<csp:break name="app_name" property="app_property" value="compare_value" />
如果参数等于value值,退出循环;
<csp:break name="app_name" property="app_property" id="compare_id" />
<csp:break id="compare_id" name="app_name" property="app_property" />
如果参数等于id值,退出循环;
重新执行循环 contine
重新执行循环语句,用于csp:while和csp:foreah循环,跳过后面语句,直接重新执行循环
<csp:continue id="var_name" value="compare_value" />
如果id等于value,重新执行循环;
<csp:continue name="app_name" property="app_property" value="compare_value" />
如果参数等于value值,重新执行循环;
<csp:continue name="app_name" property="app_property" id="compare_id" />
<csp:continue id="compare_id" name="app_name" property="app_property" />
如果参数等于id值,重新执行循环;
运算符 Operator
<csp:+= id="" value="" />
id变量加上value的值;
vector: 添加元素到末尾
<csp:-= id="" value="" />
id变量减去value的值;
<csp:*= id="" value="" />
id变量乘以value的值;
<csp:/= id="" value="" />
id变量除以value的值;
<csp:increase id="" />
id变量值加1,变量必须为int整数类型,非整数类型转换为整数类型;
<csp:decrease id="" />
id变量值减1,变量必须为int整数类型,非整数类型转换为整数类型;
其他变量操作 Basic Operate
<csp:empty id="" out="var_saveto" />
判断id变量是否为空,放到value变量中;id变量不存在,返回true;
<csp:reset id="" scopy="" />
清空id变量的值;
<csp:size id="var_name" />
获取id变量的size,放到_$size临时变量中;比如VECTOR的size大小等;id变量不存在,返回-1;
<csp:type id="var_name" out="var_saveto" />
获取id变量类型信息,放到out变量中;类型信息如下,id变量不存在,返回null;
int,time,boolean,float,string,vector,app
<csp:totype id="" type="" />
把id变量转换为type指定类型;
<csp:index id="" index="" out="" />
获取id变量的指定index值,存放到out用户变量中;
页面操作 Page Operate
<page:contentType type="" />
设置当前页面的ContentType内容,默认为"text/html"
- 退出当前页面 Return Current Page:
<page:return>
退出当前页面,不执行后面操作
<page:reset>
清空页面输出内容;
<csp:authenticate>
自动请求浏览器,验证用户帐号信息;
<page:forward url="" />
转发跳转操作;执行该操作,会自动退出该页面后面语句;
| url | 转发的新URL;该URL将显示中客户浏览器地址栏上; Forward URL address. |
CSP转发可以包含参数,例如 Sample:
<page:forward url="/index.csp" />
<page:forward url="/index.csp?a=b" />
<page:location url="" property="" />
重定向跳转操作;执行该操作,会自动退出该页面后面语句;
| url | 重定向的新URL;该URL将显示中客户浏览器地址栏上; Location URL address. |
| property | 重定向状态;301 : 永久重定向;302 : 临时重定向;默认不填为301。 |
以下为重定向跳转例子 Sample
<page:location url="http://www.google.com" />
<page:location url="/index.csp" />
应用组件通讯 C++ APP Control
- 执行组件函数 Execute APP Function:
<csp:execute id="" function="" />
执行id组件的function方法;
例子 Example:
<csp:execute id="cspApp" function="ServiceTest" />
- 定义组件实例 Define APP Variable:
<csp:define type="app" id="" name="" scopy="" property="" />
定义一个APP组件类型变量
| id | 存放实例变量 APP Variable |
| name | 组件名称 APP Name |
| scopy | (可选)生命周期,默认不填page;optional |
| property | {可选}组件默认参数 optional |
提示:通过apps.xml文件配置,不用定义,直接使用C++ APP应用组件。
<csp:app:init id="" in="" />
| id | 组件变量;(以下同) APP Variable |
| in | 输入参数 Input Property |
| %result | 返回结果 Out Result, boolean |
提示:通过apps.xml文件配置,不用初始化,直接使用C++ APP应用组件。
<csp:app:final id="" />
可选:退出组件,同时删除id变量; Opentional
<csp:app:call id="" name="" in="" out="" />
| name | 函数名称 Call name |
| in | 输入参数 Input Property |
| out | 输出参数 Output Value |
<csp:app:get id="" name="" out="" />
| name | 参数名称 Property Name |
| out | 输出参数 Output Property Value |
<csp:app:set id="" name="" in="" />
| name | 参数名称 Property Name |
| in | 输入参数 Input Property |
<csp:app:add id="" name="" in="" />
| name | 参数名称 Property Name |
| in | 输入参数 Input Property |
- 删除组件参数 Delete APP Property:
<csp:app:del id="" name="" />
<csp:app:info id="" out="" />
C/C++ Data Base Connectivity: CDBC
- 定义CDBC实例 Define CDBC Variable:
<csp:define type="cdbc" id="" name="" scopy="" />
| id | 存放实例变量 CDBC Variable |
| name | CDBC DataSource, cdbcs.xml file |
| scopy | (可选)生命周期,默认不填page |
提示:如果不define,可以配置datasources.xml,通过D$Variable进行访问。
<csp:cdbc:exec id="" sql="" />
| sql | SQL语句 INSERT,UPDATE,DELETE |
<csp:cdbc:select id="" sql="" out="" />
| sql | Select SQL |
| out | 成功返回 RESULTSET COOKIE |
<csp:cdbc:first id="" in="" />
| in | RESULTSET COOKIE |
| $result | 返回指定记录,失败返回null数据;使用"csp:size"和"csp:foreach"等语句提取数据;(下同) |
<csp:cdbc:next id="" in="" />
<csp:cdbc:prev id="" in="" />
<csp:cdbc:last id="" in="" />
<csp:cdbc:reset id="" in="" />
<csp:cdbc:size id="" in="" />
<csp:cdbc:index id="" in="" />
HTTP头信息 HTTP Header
| S$HeadNames | VECTOR 所有HEADER名称 All Header Name |
| S$HeadValues | VECTOR 所有HEADER值 All Header Value |
| S$Heads | VECTOR 所有HEADER名称值 格式/Format : HEADER_NAME: VALUE |
Format : H$HEADER_NAME
Sample :
H$Connection
H$Content-Type
H$...
参数信息 Parameter
| S$ParamNames | VECTOR 所有参数名称;All Parameter Name |
| S$ParamValues | VECTOR 所有参数值 All Parameter Value |
| S$Params | VECTOR 所有参数名称值 格式/Format : PARAM_NAME=PARAM_VALUE |
- Other Parameter Variable:
Format : P$PARAM_NAME
Sample :
P$User
P$FirstName
P$...
系统变量 System Variable
| S$HeadNames | |
| S$HeadValues | |
| S$Heads | |
| S$ParamNames | |
| S$ParamValues | |
| S$Params | |
| S$Scheme | |
| S$Method | |
| S$MethodString | |
| S$Protocol | |
|| S$ContentLength | S$ContentType | |
| S$RequestURL | |
| S$RequestURI | |
| S$QueryString | |
| S$RemoteAddr | |
| S$RemoteHost | |
| S$AuthAccount | |
| S$AuthSecure | |
| S$ServerName | |
| S$ServerPort | |
| S$ContextPath | |
| S$ServletName | |
| S$IsNewSession | |
| S$IsInvalidate | |
| S$SessionId | |
| S$SessionCreationTime | |
| S$SessionLastAccessed | |
基础知识 CSP Base
| page | default |
| request | |
| session | |
| application | |
| server | |
| int | |
| bigint | |
| time | |
| float | |
| boolean | |
| vector | |
| string | default |
| app | |
| cdbc | |