字典表——自定义标签的实现(主要代码在Tag目录下)

本文详细介绍了如何实现自定义标签与数据库的交互,包括配置.tld文件、数据库字典表、自定义标签的Java实现类、Service及DAO层的处理,以及实体类和SQL查询语句的编写。此外,还展示了数据标签的调用方式,提供了一种灵活的数据展示解决方案。
摘要由CSDN通过智能技术生成

字典表——自定义标签的实现(主要代码在Tag目录下)

1. 配置项目的.tld文件(gdmt.tld)
在这里插入图片描述

目录:/gdmt/src/main/webapps/WEB_INF/

2. 数据库中的字典表
在这里插入图片描述
其中,pt_dictionary表为字典表;pt_dictionary_i18n表为字典表的国际化表

3. 字典表自定义标签的实现类(dctnrTag.java,继承了自定义标签的简单实现类SimpleTagSupport)
定义字典表配置文件中定义的几个属性,以及对应的get()和set()方法,主要是重写dotag()方法,调用dcnrService类的方法来查询数据字典表信息返回到list列表,实现对自定义标签的内容输出(其中的out对象用于输出标签),输出前必须判断属性是否存在,存在才输出。

4. service类(DctnrService.java)

定义一个通过group来查询数据库里的字典表返回到list列表里的方法

5. serviceImpl实现类(DctnrServiceImpl.java)
在实现类里增加方法来返回查询的结果

6. 建一个接口(DctnrDao.java)

7. 字典表的实体类(PtDictionary1entity.java)

8. 自定义标签查询字典表的sql语句:
在这里插入图片描述

<select id="queryDicCodeListByeGroup" resultType="com.isoftstone.platform.model.entity.PtDictionary1entity">
select dic.code,i18n.dict_name from pt_dictionary dic 
left join pt_dictionary_i18n i18n on dic.dict_id = i18n.dict_id 
where dict_group =#{group}
and i18n.language_id =(select language_id from sm_language where code = #{lang})
ORDER BY dic.sort
</select>

注:其中id为方法名,resultType写实体类的全路径

9. 自定义标签的调用
首先在common.jsp文件的首部引用tld文件的uri内容:
在这里插入图片描述

字典表自定义标签调用:(在任何一个jsp页面中引用时调用这行代码即可,其中group是必须写的属性,且值为字典表中的group字段的内容)

<g:dicselect id="test1"  classez="test2"  name="test3"  group="organ.type"/>

数据库表——自定义标签的实现

1. 配置项目的.tld文件(gdmt.tld)—在字典表的自定义配置的基础上增加数据标签的配置

目录:/gdmt/src/main/webapps/WEB_INF/

2. 数据库中的字典表(此部分不用字典表)——直接使用数据库表信息

3. 数据自定义标签的实现类(DataSelectTag.java,继承了自定义标签的简单实现类SimpleTagSupport)——基本实现和字典表的实现一样
定义字典表配置文件中定义的几个属性,以及对应的get()和set()方法,主要是重写dotag()方法,调用dcnrService类的方法来查询数据字典表信息返回到list列表,实现对自定义标签的内容输出(其中的out对象用于输出标签),输出前必须判断属性是否存在,存在才输出。

4. service类(DataSelectService.java)
定义一个查询数据库里的任意一张表返回到list列表里的方法

5. 具体的service实现在每个模块的service和controller的对应类中实现
在实现类里增加方法来返回查询的结果

6. 数据表的实体类:
(/gdmt/src/main/java/com/isoftstone/gdmt/tag/entity/SelectTagEntity.java)

7. 自定义标签查询字典表的sql语句:

<select id="queryTagElementList" resultType="com.isoftstone.gdmt.tag.entity.SelectTagEntity">
    select d.DEP_UUID as code,
	d.BRANCH_NAME as dictName from pt_department d
	</select>

注:其中id为方法名,resultType写实体类的全路径

8. 自定义标签的调用
首先在common.jsp文件的首部引用tld文件的uri内容:
在这里插入图片描述
字典表自定义标签调用:(在任何一个jsp页面中引用时调用这行代码即可,其中serviceObj是必须写的属性,且值为下图所示2位置传过来的值:
在这里插入图片描述
<g:dataselect id=“searhAgencyId” name=“agencyId” style=“width:245px” serviceObj=“departService”/>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值