系统参数和变量浅谈

转自:微点阅读 https://www.weidianyuedu.com

系统参数和变量

参数是指客户端向服务端提交的值,变量是指系统在运行期间产生的值或通过变量管理器配置的变量。这些参数和变量可以方便在服务端或者客户端访问。

在服务器端访问参数和变量

在WebBuilder中参数通过request.getParameter方法获得,使用文件上传的方法提交的参数通过request.getAttribute方法获得。变量通常存储在session的attribute或request的attribute中, 变量可以通过session.getAttribute或request.getAttribute方法获取。

系统提供API方法WebUtil.fetch可以获得指定名称的参数或变量值,在ServerScript中可以使用app.get方法替代,建议使用后者:

3

1

var val = WebUtil.fetch(request, "sys.user"); //获取当前用户id

2

val = app.get("sys.user"); //获取当前用户id,建议使用的方法

WebUtil.fetch和app.get方法它会依次获取session和request中的值,其获取的优先级从高到低为存储在session attribute中的值,存储在request attribute中的值和存储在request parameter中的值。

获取变量管理器配置的变量可以使用Var.get方法,获取多国语言变量可以使用Str.format(ServerScript中可用app.format替代)方法,详见API手册。

在客户端访问参数和变量

在客户端xwl模块文件中,可以使用语法"{#name#}"来获取参数或变量值,其效果等同于app.get方法,但比该方法功能更丰富,使用该语法还可以获取系统配置的变量和多国语言变量值。获得变量管理器配置的变量使用“{#Var.name#}”,比如设置panel的title属性为“我的应用 - {#Var.sys.app.title#}”; 获得多国语言的变量使用“{#Str.name#}”,比如设置button的text属性为“{#Str.ok#}”。

使用JavaScript获取参数或变量:

2

1

var val = "{#sys.user#}"; //获取当前用户id

如果变量值本身可能包含引号,可以先在服务器端ServerScript中对变量进行引用,比如如下代码:

2

1

app.set("varName", StringUtil.text(app.get("varName"))); //把变量值引用后重设值

如果变量值为JSON对象或其他类型,可以使用以下方法处理:

在服务器端:

2

1

app.set("paramName", app.quote(jsonObject)); //把后台JSON对象转换为字符串参数,在前台可以使用Wb.decode解码

在客户端:

2

1

val = Wb.decode("{#paramName#}"); //解码,把字符串变成对象值

运行期变量

下表为系统运行期间产生的变量,可以在程序中直接引用:

变量名称含义

sys.user当前用户的id号

sys.username当前用户的用户名称

sys.dispname当前用户的显示名称

sys.dept当前用户所属的部门id号

sys.roles当前用户所具有的所有角色组成的数组对象

sys.roleList当前用户所具有的所有角色组成的字符串,角色之间以逗号分隔

sys.ip客户端登录时的IP地址

sys.verifyCode登录时最后输入的验证码

sys.date当前发起请求时服务器端的日期时间

sys.id当前发起请求时服务器端产生的id号,每次请求id均为唯一

sys.theme当前用户桌面系统采用的主题方案

sys.touchTheme当前用户移动触摸系统采用的主题方案

sys.editTheme当前用户脚本编辑器采用的主题方案

sys.logined当前用户是否成功登录的标记

debugSuffix如果当前为调试状态,该变量的值为"-debug",否则为空字符串

打开[管理工具]->[变量配置】模块,配置变量sys.session.sessionVars可以把当前用户存储在WB_VALUE表中的值存储到session的attribute当中,以方便在会话内对变量快速的访问。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值