ofbiz总结——使用auto-fields-service标签自动填充表单

78 篇文章 6 订阅

今天在使用auto-fields-service标签实现自动填充表单时遇到几个问题,花费好长时间才找到解决办法。主要有一下几个问题:

1. 定义auto-fields-service标签的 service-name属性时注意属性名称首字母的大小写,该名称必须与services.xml中定义的服务名称一致,否则会报错,提示找不到XXX服务。

最好是约定统一所有服务名称首字母都小写(或大写),习惯java的命名方式了,所以我一般都统一为首字母小写。

<auto-fields-service service-name="updateTerm" map-name=""/>

2. 提示Could not find resource bundle [BookingEntityLabels] in the locale [zh]

解决方案:在BookingEntityLabels.xml文件中加入至少一条含有【zh】的国际化定义。如:

<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-properties.xsd">
    <property key="CostComponentType.description.ACTUAL_LABOR_COST">
        <value xml:lang="en">Actual Labor Cost</value>
        <value xml:lang="zh">实际劳务费用</value>
        <value xml:lang="zh-TW">實際工作投入費用</value>
    </property>
</resource>

因为之前我的BookingEntityLabels.xml文件中只定义了resource标签,没有定义property标签。至少定义一个,可以随便定义,否则会报错。

3. 配置了auto-fields-service,但没效果,表单还是没有自动填充。

解决方案:需要配置表单标签时配置default-map-name和 default-entity-name属性。如:

	<form name="EditTerm" target="updateTerm" title="" type="single" header-row-style="header-row" 
		default-table-style="basic-table" default-map-name="term" default-entity-name="Term">
		<auto-fields-service service-name="updateTerm" map-name=""/>
如果不配置default-map-name和 default-entity-name属性,则自动填充没有效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值