张昊

J-Hi(http://www.j-hi.net)

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  45 Posts :: 1 Stories :: 110 Comments :: 0 Trackbacks

2011年6月3日 #

http://developer.51cto.com/developer/51cto-salon-13/





视频点播
《Java快速开发的分析与探索》[上](张昊)
《Java快速开发的分析与探索》[下](张昊)
《Java快速开发平台使用》(肖金华)
用户交流与问答环节

推荐阅读


51CTO电子杂志《开发月刊》

51CTO开发频道推出《开发月刊》电子杂志。主要内容涵盖Java、.NET、WEB开发、数据库和移动开发等等。从技术细节到项目管理,方方面面为开发者服务。



往期回顾
 
51CTO技术沙龙之IDC挑选运维经验谈
51CTO技术沙龙之掌握网络流量分析与系统监控
51CTO技术沙龙之企业服务器安全攻与防
51CTO技术沙龙之Linux系统安全
51CTO技术沙龙之解析中小企业网络运维
51CTO技术沙龙之Web开发前沿技术探索与实战
51CTO技术沙龙之大型网站PHP开发之道
51CTO技术沙龙之 IT技术人,茫茫职业人生路
51CTO技术沙龙之 如何快速定位黑客攻击
51CTO技术沙龙之 关于企业安全运维的那些事儿
51CTO技术沙龙之 站在业务扩展的角度看Linux运维技术
51CTO技术沙龙之 从菜鸟到CTO,你的目标需要管理
51CTO技术沙龙之 两小时成为反挂马达人
51CTO技术沙龙之 全方位解析虚拟化
51CTO技术沙龙之 企业基础网络与核心服务搭建
51CTO技术沙龙之 负载均衡2期

沙龙导读与PPT下载

51CTO技术沙龙第十三期总结:Java快速开发之路
在2011年9月3日下午51CTO举办的第13期51CTO技术沙龙中,有幸请到Java开源平台——J-Hi的两位创始人张昊老师和肖金华老师。二位讲师分别从理论和实战来为大家介绍J-Hi,打开Java快速开发之路。查看
PPT下载:《Java快速开发的分析与探索》(张昊)
详细分析快速开发与传统开发方式在开发形式上的差异,两个模式所存在的风险及如何规避这些风险,并对开发效率、成本及开发规范做出对比。最后阐述为什么快速开发将是以后软件开发的趋势。 PPT下载 | 视频下载
《Java快速开发平台使用》(肖金华)
主要介绍怎样架构你的互联网应用才能显得不是那么草根,基于弱关系理论的结构化数据存储与程序设计高性能的数据缓冲层让你的数据离CPU再近一些。如何定位应用的性能瓶颈以及系能优化的思路。 视频下载
 

本期讲师介绍

 
 
J-Hi快速开发平台团队核心成员 张昊
软迅博技术发展有限公司首席架构师,开源J-Hi快速开发平台团队核心成员,平台项目的主要发起者与组织者。
软迅博技术发展有限公司项目总监 肖金华
开源J-Hi快速开发平台团队核心成员,十一年软件开发经验,带领完成过多个大型项目。熟悉保险及电力行业,曾任某IT公司保险业务线架构师。
 
 

相关Java专题


51CTO开发频道专访J-Hi快速开发平台团队核心成员张昊先生,向大家讲述J-Hi快速开发平台从创意到研发再到产品的完整脉络和技术领域以及对广大爱好者的一些建议。


 

2011年7月7日,甲骨文举行了生活的全球性活动,以庆祝即将到来的Java 7推出。标准版Java SE 7是对Java社区和甲骨文对开发语言和技术持续承诺的一种肯定。

  

沙龙现场照片


 
 
 
 
 
 
 
 
 
 
 



posted @ 2011-09-16 23:48 张昊 阅读(1178) | 评论 (2)编辑 收藏

http://weibo.com/javahi
posted @ 2011-09-09 16:26 张昊 阅读(865) | 评论 (1)编辑 收藏


描述:在DWZ版中lookup的处理机制与经典的完全不同,对于lookup有两种展现形式,一种是通过点击lookup图标弹出对话框后带回选中的值,另一种是通过在文本框中输入相应信息从而实现联机式的查找带回效果。从实现目的来看,无非是让lookup的实体的主键值带回到hidden的一个元素中,而其它值只是作为显示参考之用,与底层的数据库结构与数据库表无关。一个完整的lookup由如下html元素构成:1)一个hidden用于保存带回实体主键的ID值;如果要实现缺省的lookup过滤或排序可以相应的pageInfohidden元素,具体实现方式的用例参见《HowTo手册》;2ntext用于显示带回的多个数据带回项(注意:因为带回的数据项与数据访问层也就是数据库表无关,因此每个textname都有一个hi_作为前缀);3)一个lookup有且只有一个主带回项,只有主带回项的文本框是可编辑的并且只有主带回项会有lookup图标也就是html的中的a元素。

扩展属性名

lookupGroup

lookup组可以理解为当前实体的名字,如果当前lookup组件是主实体中,则lookupGroup就是实体名,如果当前lookup组件在从实体(也就是明细表的lookup)中,则lookupGroup就是明细的集合属性名

lookupName

lookup名可以理解为当前lookup实体的属性名。从整体的DWZ框架来分析,实际上所有的tab都在一个IE窗口,也就是说JS文件在打开浏览器只会加载一次。这就产生了必须要保证每一个html元素的唯一性,即使是在不同的tab下也是如此。对于lookup来说,是通过lookupGroup+lookupName来确定元素的唯一性的。

suggestClass

主带回项才会有该属性,实现联想查找带回

lookup实体的POJO类的全限定名

searchFields

查询过滤的属性名列表,以逗号分隔。例如带回HiUser,该属性的值为”fullName,userNum”,在文本框中001则平台会查询姓名或者是编号为001的所有用户

callback

回调方法名,在查找带回值后系统会回调该属性的值的方法,以实现您对带回后的特殊处理。例如callback=fun,那么在带回值后系统会自动调用fun方法,并会自动传入两个参数fun(json,index),其中json:是带回的完整json对象,index:是索引值,主要用于明细的带回时要提供是第几条明细记录

 

场景描述:一个会员编辑页面要指定该会员所在的省份、城市、地区,要求在选择省份后会自动过滤该省份的城市,地区以此类推。

       以下所有步骤只是修改OrganizationEdit.jsp文件,即可

步骤一、为省份的主带回项加callback回调方法,并在实现该js方法

<input type="text" class="textInput" name="organization.hi_province.name" value="${organization.province.name}" callback="processProvince"

    function processProvince(json){

       document.getElementById("pageInfo.province.f_id").value = json.id;

    } //该方法的目的是在选择某个省份后将该省份的ID值放到指定的hidden元素中

步骤二、为城市加一个用于过滤的hidden元素,注意processProvince()方法中的赋值语句就是该hidden元素;用于过滤的name必须与PageInfo的具体类相对应;必须要指定lookupGrouplookupName

<input type="hidden" lookupGroup="organization" lookupName="city" name="pageInfo.province.f_id" id="pageInfo.province.f_id" value=""/>

    步骤三、为城市的主带回项加callback回调方法,并在实现该js方法

<input type="text" class="textInput" name="organization.hi_city.name" value="${organization.city.name}callback="processCity"

    function processCity(json){

       document.getElementById("pageInfo.city.f_id").value = json.id;

}

步骤四、为地区加一个用于过滤的hidden元素

<input type="hidden" name="pageInfo.city.f_id" id="pageInfo.city.f_id" lookupGroup="organization" lookupName="region" value=""/>

总结:级联下拉实际上是lookup的一个变种形式,主要的思想是为你要级联的下拉的lookup加入过滤项,例如在城市加一个省份的过滤项,在选择省份时后,会通过回调方法将这个过滤项的值存到该过滤项中。这样逐级过滤就实现了级联下拉的效果.

posted @ 2011-06-03 17:53 张昊 阅读(2259) | 评论 (5)编辑 收藏