- 浏览: 698129 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
扩展bboss标签库编写自己的标签。
实际使用bboss标签库的过程中,有时需要对扩展定制bboss标签,比如bboss的内容管理模板标签库、字典标签库都是基于bboss标签扩展开发出来的。本文介绍基于cell标签的定制开发方法。
cell标签的作用就是用来获取并输出bean的属性值、map中对应key的value值、数据库查询字段值。因此我们可以直接从cell标签继承获取bean的属性值、map中对应key的value值、数据库查询字段值的功能,然后拿到这个值在自己定制的标签中做相应的处理。
下面介绍定制开发过程:
1.实现自己的标签处理类
定义标签描述文件-test-taglib.tld
文件存放路径:/WEB-INF/test-taglib.tld
定义一个名称为testcell的标签,testcell标签除了customAttribute属性外,其他属性都是从cell标签继承。
标签的实现类:test.TestCellTag
以下是tld文件的完整内容:
在jsp头部导入自定义的标签tld文件:
万事具备,可以在list,beaninfo,map这些标签中嵌套使用这个testcell标签了:
指定的customAttribute属性的值为anyvalue,指定了userinfo对象的userCNName属性(用户的中文名称,值为张三),上述代码段运行的结果为:
到此为止,通过扩展cell,终于得到了我们想要的testcell标签了。
实际使用bboss标签库的过程中,有时需要对扩展定制bboss标签,比如bboss的内容管理模板标签库、字典标签库都是基于bboss标签扩展开发出来的。本文介绍基于cell标签的定制开发方法。
cell标签的作用就是用来获取并输出bean的属性值、map中对应key的value值、数据库查询字段值。因此我们可以直接从cell标签继承获取bean的属性值、map中对应key的value值、数据库查询字段值的功能,然后拿到这个值在自己定制的标签中做相应的处理。
下面介绍定制开发过程:
1.实现自己的标签处理类
package test; import java.io.IOException; import javax.servlet.jsp.JspException; import com.frameworkset.common.tag.pager.tags.CellTag; import com.frameworkset.util.StringUtil; public class TestCellTag extends CellTag{ private String customAttribute;//自定义自己的标签属性 public int doStartTag() throws JspException { init();//初始化cell标签,必须实现 Object actualValue = super.getObjectValue();//获取到当前cell标签运算出来的值 //接下来就可以做自己的事情了,我们只是输出自定义属性的值和cell对应的值到jsp页面上。 if(StringUtil.isNotEmpty(customAttribute)) { try { out.print("Custom Attribute value is "+this.customAttribute+",cell value is "+actualValue); } catch (IOException e) { throw new JspException(e); } } return SKIP_BODY;//返回控制标签事件生命周期的常量 } /** * 必须定义标签属性的get/set方法 */ public String getCustomAttribute() { return customAttribute; } public void setCustomAttribute(String customAttribute) { this.customAttribute = customAttribute; } /** * 必须在doFinally方法中释放属性的值 */ @Override public void doFinally() { this.customAttribute = null; super.doFinally(); } }
定义标签描述文件-test-taglib.tld
文件存放路径:/WEB-INF/test-taglib.tld
定义一个名称为testcell的标签,testcell标签除了customAttribute属性外,其他属性都是从cell标签继承。
标签的实现类:test.TestCellTag
以下是tld文件的完整内容:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.1</jspversion> <shortname>pg</shortname> <uri>test-taglib</uri> <info>test taglib.</info> <tag> <name>testcell</name> <tagclass>test.TestCellTag</tagclass> <bodycontent>jsp</bodycontent> <!-- 定义自己的属性 开始,这些属性必须在自定义标签类中定义,并且有get和set方法--> <attribute> <name>customAttribute</name> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 定义自己的属性 结束--> <!-- *************************************************************** * 从cell标签继承属性开始 * *************************************************************** --> <attribute> <name>colName</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>property</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>content</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>colid</name> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 查找祖先(list)索引 --> <attribute> <name>index</name> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 指定单元格输出的默认值 当前的值为null时,输出指定的默认值, 如果不指定默认值将直接输出null。 --> <attribute> <name>defaultValue</name> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 求值表达式:如果设置表达式,将通过表达式求解cell标签的输出 表达式支持的基本操作有:冥,乘法,除法,求余,加/减,字符串的加操作 表达式支持的聚合操作有:求和,求平均值,计数 操作数:可以为变量,整数,小数,字符串 其中变量是指列表/分页/页面详细信息中的对象属性名称,为如下形式: {variable name} 表达式中用"{"和"}"来标识变量 例如: 2 * 2 2 + 2 * 3 2 - 2 / 3 2 - 3 % 2 2* {var1} / {var2} sum({var1}) avg({var1}) count({var1}) 上述操作可以任意组合 --> <attribute> <name>expression</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>actual</name> <rtexprvalue>true</rtexprvalue> </attribute> <!-- trim:true false default false --> <attribute> <name>requestKey</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>sessionKey</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>pageContextKey</name> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>parameter</name> <rtexprvalue>true</rtexprvalue> </attribute> <!-- *************************************************************** * 从cell标签继承属性结束 * *************************************************************** --> </tag> </taglib>
在jsp头部导入自定义的标签tld文件:
<%@ taglib uri="/WEB-INF/test-taglib.tld" prefix="test"%>
万事具备,可以在list,beaninfo,map这些标签中嵌套使用这个testcell标签了:
<pg:beaninfo requestKey="userinfo"> <test:testcell customAttribute="anyvalue" colName="userCNName"/> </pg:beaninfo>
指定的customAttribute属性的值为anyvalue,指定了userinfo对象的userCNName属性(用户的中文名称,值为张三),上述代码段运行的结果为:
Custom Attribute value is anyvalue,cell value is 张三
到此为止,通过扩展cell,终于得到了我们想要的testcell标签了。
发表评论
-
bboss标签库cell标签格式化数字实例
2016-11-24 10:38 927bboss标签库cell标签格式化数字实例 带double类 ... -
bboss标签库cell标签展示嵌套对象属性方法实例
2016-11-16 21:47 965bboss标签库cell标签展示 ... -
bboss标签库list/map标签循环变量var属性使用说明
2015-12-24 09:17 1382bboss标签库list/map标签循环变量var属性使用说明 ... -
bboss逻辑标签实现if-else以及if-else if-else条件判断功能介绍
2014-11-25 23:43 1800采用bboss逻辑标签可以非常容易地实现if-else以及if ... -
bboss标签实现列表中的动态列数据展示方法
2014-10-26 12:46 1324借助bboss标签库提供的list标签,我们可以非常方便地实现 ... -
bboss逻辑标签判断对象类型是否为给定的Class类型方法
2014-10-12 11:35 891在java代码中可以非常方 ... -
bboss数据库标签系列一 分页列表详细信息标签预编译sql查询数据
2014-10-09 12:54 1129本系列文章详细介绍bboss标签库的数据库标签具体使用方法,涉 ... -
bbossgroups标签库使用大全(续三)-新增功能特性详解
2014-03-23 10:58 1009bbossgroups标签库使用大全(续三)-bboss最近新 ... -
bbossgroups标签库使用大全(续二)-表达式使用
2014-02-25 22:28 1105本文详细介绍bboss标签库特有表达式的使用方法。可以在分页/ ... -
bboss分页组件翻页js前置处理函数和js后置处理函数使用方法
2014-01-16 10:30 1222bboss 3.7.7版本及后续版本为分页组件增加翻页js前置 ... -
bboss持久层More分页查询API使用介绍
2013-10-18 16:17 1487为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss标签库与jstl标签库功能对比
2013-09-15 22:53 1158本文就bboss标签库与jstl标签库中的几个常用标签做个简单 ... -
bbossgroups标签使用大全(续一)-安全篇
2013-09-01 15:08 1154本文是bboss 标签库系列 ... -
bboss中的map标签结合list标签/cell标签展示复杂数据结构案例
2012-08-31 12:12 1809bboss中的map标签结合list ... -
bboss标签库使用大全-逻辑标签使用介绍
2011-08-01 21:58 2713bbossgroups标签库使用大全(续),接上篇《bboss ... -
bboss标签使用大全-数据展示标签
2011-07-31 23:28 4331bboss标签库使用大全 本文介绍bboss中所有数据展示标 ... -
bboss特色介绍
2011-06-12 15:43 18970bboss是一个j2ee开 ... -
采用jquery来分页,排序,查询
2010-04-13 21:19 1454页面标签全面采用jquery来分页,排序,查询 又花了 ... -
树标签的脚本从prototype迁移到jquery实战
2010-04-12 19:31 1010花了一天的时间将树标签的脚本全部从prototype迁移到jq ... -
关于树标签的问题1-动静模式是,点击下级节点不能展开的问题
2010-03-05 09:02 1034关于树标签的问题-动静模式是,点击下级节点不能展开的问题 b ...
相关推荐
- 快速入门:简单的示例展示如何创建第一个BBoss MVCDemo应用,包括编写控制器、模型和视图。 - 请求处理:讲解BBoss MVCDemo如何处理HTTP请求,包括URL映射、参数绑定和返回值处理。 - 模型层详解:介绍如何定义...
在应用集成方面,bboss会话共享提供了一个插件,其扩展性强,作用在于为应用提供统一的会话管理功能。开发者需要将原来的容器session监听器迁移到bboss会话共享实现。对于修改session中的对象数据,必须调用session....
Elasticsearch是一个强大的开源搜索引擎和分析引擎,广泛用于大数据处理和实时...开发者可以通过配置和编写少量代码,实现复杂的数据迁移任务,同时利用Elasticsearch的分布式特性,确保导入过程的稳定性和可扩展性。
总之,BBoss作为一款企业级J2EE开源框架,它的设计思路是提高开发效率、简化代码结构,并且具备良好的扩展性和维护性,适合大型复杂项目的开发。其丰富的功能和组件,使得开发者能够更加专注于业务逻辑,而非底层...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
总之,BBoss-DB-Elasticsearch-Tool是一个强大的Java ORM框架,它扩展了对Elasticsearch的支持,使得开发人员在处理各种数据库时能保持一致的编程体验,同时也简化了Elasticsearch的集成和操作。这个工具对于需要跨...
Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于快速提供近实时的搜索和分析能力。BBoss(Business Boss)是基于Elasticsearch的一个强大且灵活的开发框架,它简化了Elasticsearch在企业级应用中的集成...
bboss-datatran 设计上考虑了系统的可扩展性和高可用性。它支持水平扩展,通过增加节点来提高处理能力;同时,它具备容错机制,能够在节点故障时自动恢复,保证数据处理的连续性。 ### 监控与管理 为了便于管理和...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
Elasticsearch是一种基于Lucene构建的开源全文搜索和分析引擎,提供分布式、实时、可扩展的搜索和数据分析能力。它的核心特性包括索引、搜索、聚合、实时分析等,广泛应用于日志分析、监控、推荐系统等领域。 2. *...
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
通过阅读`SYSAuthenticateFilter.java`的源码,我们可以深入了解BBoss框架如何实现这些功能,并学习如何自定义和扩展安全认证过滤器,以满足特定的应用场景需求。源码分析有助于我们更好地理解和控制Web应用的安全...
bboss框架集成了AOP/iOC、MVC、持久化标签库、RPC、事件处理、Bean-XML序列化等多种功能。本项目基于bboss框架构建了数据采集ETL工具、流批一体化Stream工具、Elasticsearch客户端工具和WebSession共享框架等应用。
除了`<property-placeholder>`标签,BBoss还支持使用`<context:property-placeholder>`标签,它是Spring框架的一部分,也可以与BBoss集成使用。这种方式的配置类似,但提供了更多的选项,如默认值、忽略未定义的属性...
第一代到第五代的演变展示了技术的不断革新,包括了对性能、可扩展性、容错性以及与各种容器的兼容性的增强。 二、bbosssession架构及特点 bbosssession架构包括了Application、SessionMonitor和Session存储服务...
官方版本,亲测可用
4. **源码分析**:标签中提到的“源码”意味着我们可以通过查看BBoss Persistent的源代码来了解其内部处理大字段的具体实现。通过这种方式,开发者可以更好地理解其工作原理,进行定制化开发或优化。 5. **工具支持...
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿