没有合适的资源?快使用搜索试试~ 我知道了~
首页ofbiz-minilang解析示例
ofbiz-minilang解析示例

Ofbiz-minilang标签示例,主要是解释minilang包含的一些标签的用法
资源详情
资源评论
资源推荐

注释:感谢网友提供的一些资料,本人仅是搜索并整理成文(HJ)
Ofbiz-minilang 标签示例
目录
1 验证.................................................................................................................................4
1.1 Login-required.......................................................................................................4
1.2 use-transaction......................................................................................................4
1.3 check-permission..................................................................................................4
1.4 if-has-permission...................................................................................................6
1.5 if-compare.............................................................................................................7
1.6 if-compare-field.....................................................................................................8
1.7 if-empty..................................................................................................................8
1.8 if-not-empty...........................................................................................................8
1.9 if-instance-of..........................................................................................................8
1.10 if-regexp..............................................................................................................9
1.11 if-validate-method................................................................................................9
1.12 if.........................................................................................................................10
1.13 check-id.............................................................................................................10
1.14 add-error............................................................................................................11
1.15 check-errors.......................................................................................................11
1.16 assert.................................................................................................................12
1.17 calculate............................................................................................................12
2 数据操作........................................................................................................................12
2.1 clone-value..........................................................................................................12
2.2 clear-field.............................................................................................................12
2.3 create-object.......................................................................................................13
2.4 clear-cache-line...................................................................................................13
2.5 clear-entity-caches..............................................................................................13
2.6 entity-one............................................................................................................13
2.7 entity-and............................................................................................................14

注释:感谢网友提供的一些资料,本人仅是搜索并整理成文(HJ)
2.8 entity-condition....................................................................................................16
2.9 entity-count..........................................................................................................19
2.10 entity-data.........................................................................................................19
2.11 find-by-primary-key............................................................................................19
2.12 find-by-and........................................................................................................20
2.13 get-related-one..................................................................................................20
2.14 get-related.........................................................................................................21
2.15 filter-list-by-and..................................................................................................21
2.16 filter-list-by-date.................................................................................................23
2.17 make-value........................................................................................................23
2.18 set-pk-fields.......................................................................................................24
2.19 set-nonpk-fiels...................................................................................................24
2.20 create-value......................................................................................................24
2.21 store-value........................................................................................................25
2.22 store-list.............................................................................................................25
2.23 remove-value....................................................................................................25
2.24 remove-list.........................................................................................................26
2.25 remove-by-and..................................................................................................26
2.26 remove-related..................................................................................................26
2.27 sequenced-id.....................................................................................................26
2.28 make-next-seq-id(待验证).................................................................................27
3 逻辑操作........................................................................................................................27
3.1 Set.......................................................................................................................27
3.2 set-calendar........................................................................................................28
3.3 set-current-user-login..........................................................................................28
3.4 string-append......................................................................................................28
3.5 string-to-list..........................................................................................................28
3.6 session-to-field....................................................................................................28
3.7 field-to-session....................................................................................................29
3.8 field-to-list............................................................................................................29
3.9 field-to-request....................................................................................................29
3.10 request-to-field..................................................................................................30

注释:感谢网友提供的一些资料,本人仅是搜索并整理成文(HJ)
3.11 request-parameters-to-list.................................................................................30
3.12 list-to-list............................................................................................................30
3.13 map-to-map.......................................................................................................30
3.14 loop....................................................................................................................30
3.15 first-from-list......................................................................................................30
3.16 webapp-property-to-field...................................................................................30
3.17 iterate................................................................................................................31
3.18 iterate-map........................................................................................................31
3.19 while..................................................................................................................31
3.20 refresh-value.....................................................................................................32
4 调用...............................................................................................................................32
4.1 Script...................................................................................................................32
4.2 call-bsh................................................................................................................32
4.3 call-class-method................................................................................................33
4.4 call-map-processor..............................................................................................33
4.5 set-service-fields.................................................................................................34
4.6 call-service..........................................................................................................34
4.7 call-service-asynch..............................................................................................35
4.8 call-object-method...............................................................................................35
4.9 call-simple-method..............................................................................................35
5 其他...............................................................................................................................36
5.1 now-date-to-env..................................................................................................36
5.2 now-timestamp....................................................................................................36
5.3 to-string...............................................................................................................36
5.4 log........................................................................................................................36
5.5 Order-map-list.....................................................................................................36
5.6 order-value-list....................................................................................................37
5.7 transaction-begin.................................................................................................37
5.8 transaction-commit..............................................................................................37
5.9 transaction-rollback.............................................................................................38

注释:感谢网友提供的一些资料,本人仅是搜索并整理成文(HJ)
1 验证
1.1 Login-required
这是一个 simple-method 的属性,对是否需要登陆进行设置,默认值为 true ,即默认需要先登陆。(加
上 service 定义中的 auth 定义,所以如果你不希望一个 simple service 必须登陆才能调用的话,那么首先
得将 service 定义中的 auth 设为 false ,再将此处的 login-required 设为 false),后续会陆续多种子权限
判断的用法,关于权限判断都是首先需要登陆的。
1.2 use-transaction
设置此 simple method 是否使用事务。根据业务需求来判断具体设置。
1.3 check-permission
判断权限是否具有某一权限,一般用法为:
<check-permission permission="person" action="_update">
<alt-permission permission="person" action="_view"/>
<fail-property resource="WebtoolsUiLabels"property="doNotHavePermission"></fail-
property>
</check-permission>
<check-errors>
</check-errors>
使用 check-permission 前提条件是当前 service 环境中必须存在用户的登陆信息,即能获取到 userLogin .
service 的调用场景有很多,controller.xml 中,screen 中,simple method 中,bsh 文件中,ftl 文件中,java 文件
中,groovy 文件中等,其中前三项系统会自动将 userLogin,locale 等信息自动封装到 service context 中去,
所以不需要我们手段传值,所以我们在其他环境中调用 service 的时候就需要对需要的隐性参数进行传值,
比如 fail-property 中会用到 locale, check-permission 会用到 userLogin 等,调用举例如下:
dispatcher.runSync("TestServiceOnSimple",UtilMisc.toMap("param3","TestServiceOnJava","userLogin",

注释:感谢网友提供的一些资料,本人仅是搜索并整理成文(HJ)
userLogin,"locale",locale)); //java 文件中 ,check-permission 中有个属性 error-list-name="error_list" ,这
条属性的意思是意义是将错误信息放到 error_list 这个 list 中。配合 check-errors 的共同使用。其中 check-
permission 判断是否具有”${permission 的值}_ADMIN” 权限,如果 action 的值不为 null,则会首先判断当
前用户是否具有”${permission 的值}_ADMIN”权限,如果有则权限判定符合要求,否则判断是否具有”$
{permission 的值}_${action 的值}”,如果 check-permission 判断权限要求都不满足的话,会进行 alt-
permission 权限判断,判断规则和 check-permission 一样, check-permission 和 alt-permission 两者的关
系是 or 的关系,即只要两者有一个满足权限要求即可。如果两者条件都不满足的话那么将会把 fail-
property 写进错误信息中,fail-property 错误信息来源于”${ resource 的值}.xml”中 key 值为”${property 的
值}”所对应的 value 值。系统会自动根据客户端浏览器的 locale 从文件中获取对象的提示信息。 当然你也
可以直接将来报错提示信息写在当前 simple methord 中,使用
<check-permission permission="person" action="_update">
<alt-permission permission="person" action="_view"/>
<fail-message message="you do not have XXX permission !!"/>
</check-permission>
fail-message 与 fail-property 是不能共存的,二者只能存其一。 所有上面的内容只会对权限进
行判断,权限不满足的话收集提示信息,<check-errors></check-errors>则是返回错误信息。如果没有
check-errors 那么 service method 将会继续往下执行。有 check-errors 的话则会中断 simple method 的执
行。如果非要用 java 语言进行翻译的话,我觉得应该是这样的。
<check-permission permission="person" action="_update">
<alt-permission permission="party" action="_view"/>
<fail-property resource="WebtoolsUiLabels" property="doNotHavePermission"></fail-
property>
</check-permission>
<check-errors></check-errors>
翻译成 java service 应该是这样的.
Security security = dctx.getSecurity();
if (!(security.hasPermission ("person_ADMIN", userLogin)
|| security.hasPermission ("person_update", userLogin)
|| security.hasPermission ("party_ADMIN", userLogin)
|| security.hasPermission ("party_view ", userLogin))
) {Return ServiceUtil.returnError(
剩余37页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论3