My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
CSP_1_1  
C++ Server Page 1.1.
Updated Jul 28, 2010 by akee.y...@gmail.com

MYCP CSP(C++ Server Page) 1.1

注释语句 CSP Comment

<%-- Comment 单行注释 --%>
<%--
  Comment 多行注释
--%>

输出语句 Output

  • 打印变量variable的值
  • Format: <%=variable%>
    
    Sample: <%=$var1%>
    Sample: <%=P$UserName%>

variable 可以是用户变量$variable,临时变量$variable,也可以是普通字符串"variable"等;(以下同)

  • 同<%=%>语句功能一样
  • <csp:write id="" scopy="" />

id 可以是变量$variable,临时变量$variable,也可以是变量字符串"variable";(以下同)
scopy 如果是用户变量,指定变量存放区域;默认不填为page区域;

  • 打印APP服务,指定属性的参数值
  • <csp:write name="" property="" />

name APP服务名称
property 属性名称

  • 提示: 可以按照以下格式组合使用 Can Usage:
  • <%=$var1%><csp:write id="$var2" />

变量 CSP Variable

  • 定义变量 Define 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

  • 格式 Format:
  • <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" />
  • 简单比较 Simple Compare:
  • <csp:if:equal id="var_name" value="compare_value" />
    	...
    <csp:end>
    true: 执行...语句
  • 带 else 语句 if else:
  • <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>
  • 全部语句 All csp:if Compare:
  • <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 语句完全一样比较方式

  • 格式 Format:
  • <csp:while:equal id="var_name" value="compare_value" />
    	...
    <csp:end>
    循环比较变量id跟值value的值;true: 执行...语句,直到false,退出<csp:end>;
  • 临时变量 Temp Variable:

$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 变量

  • 格式 Format:
  • <csp:foreach id="var_vector" />
    	...
    <csp:end>
    循环处理类型VECTOR变量id的值;同时执行...语句
  • 临时变量 Temp Variable:

$inde 当前索引序列 Current Index Variable.
$value 当前索引值 Current Value Variable.

退出循环 break

退出循环语句,用于csp:while和csp:foreach循环;

  • 格式 Format:
  • <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循环,跳过后面语句,直接重新执行循环

  • 格式 Format:
  • <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

  • 加 增加 add:
  • <csp:+= id="" value="" />
    id变量加上value的值;
    
    vector: 添加元素到末尾
  • 减 subtract:
  • <csp:-= id="" value="" />
    id变量减去value的值;
  • 乘 multiplication:
  • <csp:*= id="" value="" />
    id变量乘以value的值;
  • 除 division:
  • <csp:/= id="" value="" />
    id变量除以value的值;
  • 加1 increate:
  • <csp:increase id="" />
    id变量值加1,变量必须为int整数类型,非整数类型转换为整数类型;
  • 减1 decrease:
  • <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

  • 设置页面类型 Set Content Type:
  • <page:contentType type="" />
    设置当前页面的ContentType内容,默认为"text/html"
  • 退出当前页面 Return Current Page:
  • <page:return>
    退出当前页面,不执行后面操作
  • 清空输出 Reset Output:
  • <page:reset>
    清空页面输出内容;
  • HTTP自动验证 Authorization:
  • <csp:authenticate>
    自动请求浏览器,验证用户帐号信息;
  • 转发跳转 Forward:
  • <page:forward url="" />
    转发跳转操作;执行该操作,会自动退出该页面后面语句;

url 转发的新URL;该URL将显示中客户浏览器地址栏上; Forward URL address.

CSP转发可以包含参数,例如 Sample:

<page:forward url="/index.csp" />
<page:forward url="/index.csp?a=b" />
  • 重定向跳转 Location:
  • <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应用组件。

  • 初始化组件 Init APP:
  • <csp:app:init id="" in="" />

id 组件变量;(以下同) APP Variable
in 输入参数 Input Property
%result 返回结果 Out Result, boolean

提示:通过apps.xml文件配置,不用初始化,直接使用C++ APP应用组件。

  • 注销退出组件 Final APP:
  • <csp:app:final id="" />
    可选:退出组件,同时删除id变量; Opentional
  • 调用组件函数 APP Call
  • <csp:app:call id="" name="" in="" out="" />

name 函数名称 Call name
in 输入参数 Input Property
out 输出参数 Output Value

  • 获取组件参数 Get APP Property:
  • <csp:app:get id="" name="" out="" />

name 参数名称 Property Name
out 输出参数 Output Property Value

  • 设置组件参数 Set APP Property:
  • <csp:app:set id="" name="" in="" />

name 参数名称 Property Name
in 输入参数 Input Property

  • 添加组件参数 Add APP Property:
  • <csp:app:add id="" name="" in="" />

name 参数名称 Property Name
in 输入参数 Input Property

  • 删除组件参数 Delete APP Property:
  • <csp:app:del id="" name="" />

name 参数名称 Property Name

  • 获取组件信息 Get APP Info:
  • <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进行访问。

  • 更新操作 Execute SQL:
  • <csp:cdbc:exec id="" sql="" />

sql SQL语句 INSERT,UPDATE,DELETE

  • 查询操作 Select SQL:
  • <csp:cdbc:select id="" sql="" out="" />

sql Select SQL
out 成功返回 RESULTSET COOKIE

  • 获取第一条记录 Get First:
  • <csp:cdbc:first id="" in="" />

in RESULTSET COOKIE
$result 返回指定记录,失败返回null数据;使用"csp:size"和"csp:foreach"等语句提取数据;(下同)

  • 获取下一条记录 Get Next:
  • <csp:cdbc:next id="" in="" />
  • 获取上一条记录 Get Previous:
  • <csp:cdbc:prev id="" in="" />
  • 获取最后一条记录 Get Last:
  • <csp:cdbc:last id="" in="" />
  • 清空记录 Reset Result:
  • <csp:cdbc:reset id="" in="" />
  • 记录大小 Result Size:
  • <csp:cdbc:size id="" in="" />

$size 返回记录集大小

  • 当前记录索引 Result Index:
  • <csp:cdbc:index id="" in="" />

$index 返回记录集索引

HTTP头信息 HTTP Header

  • System Variable:

S$HeadNames VECTOR 所有HEADER名称 All Header Name
S$HeadValues VECTOR 所有HEADER值 All Header Value
S$Heads VECTOR 所有HEADER名称值 格式/Format : HEADER_NAME: VALUE

  • Other Header Variable:
  • Format : H$HEADER_NAME
    
    Sample : 
    H$Connection
    H$Content-Type
    H$...

参数信息 Parameter

  • System Variable:

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$ContentLength
S$Scheme
S$Method
S$MethodString
S$Protocol
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

S$UploadFiles

基础知识 CSP Base

  • scopy

page default
request
session
application
server

  • type

int
bigint
time
float
boolean
vector
string default
app
cdbc


Sign in to add a comment
Powered by Google Project Hosting