2006年11月14日
摘要:
讲解了displayTag这个开源的自定义标签的作用与设计思想,让大家自己写一个这样的示意程序,结果很糟糕!让大家解释${x.name}的内部执行原理,再次复习讲解了迭代标签的编写细节。讲解了什么是应用程序的国际化,复习了Locale对象和操作系统的Locale设置。讲解了ResourceBundle的资源包管理:先创建messages.properties、messages_en.properties、messages_zh.properties、messages_zh_cn.properties等文件,每个文件中的内容即为文件名,介绍它们是一个资源包,然后编写java源程序(用缺省的Loc
阅读全文
posted @ 2006-11-14 14:54
阳光VIP1
阅读(127)
推荐(0)
2006年11月12日
摘要:
梁老师今天讲解了工作流中的definition的数据存储在哪里,instance的状态数据存储在哪里,以及如何从definition到一个instance的内部细节。一个instance Activity里记录了Processor和definition Activity的id,一个instance Activity中有多个WorkItem,这些WorkItem是根据任务分配给多个角色顺序执行或并发执行时产生的。基于他们公司的工作流引擎,在Appfuse的基础上结合spring MVC,Spring,hibernate做一个用户登陆的程序,然后做一个撰文与审批的工作流,整个与撰文相关的业务用一个
阅读全文
posted @ 2006-11-12 19:15
阳光VIP1
阅读(123)
推荐(0)
摘要:
梁老师今天主要讲解如何调用工作流API来访问工作流,包括如下一些引伸知识:1. 定义期 :也叫建模期。 按着建模规则生成一份过程定义。 运行态: 根据定义,执行服务。2. 组织模型:把任务分给谁。3. 三种数据:控制数据,应用数据,模型数据。4. 在多级联菜单中,最好显示子菜单时,先向服务器请求显示名字,然后当用户再次点击察看详情的时候,才向服务器请求显示子菜单的详 细信息。5. 数据类型 (image,blob,clob,text)的区别:Hibernate 如何存取大数据字段:(1).在 hibernate.cfg.xml 中配置一个参数(hibernate.jdbc.use_stream
阅读全文
posted @ 2006-11-12 10:23
阳光VIP1
阅读(99)
推荐(0)
2006年11月11日
摘要:
首先解决昨天遇到的表格细线的问题,在明白解决方案的原理之前,学员们要扭转观念:HTML的表格与我们通常看到的表格不一样,一个大框里面套各种小单元格。<table>的border是指整个表格的外边框的宽度,但是,只有设置了border的值,内部单元格才有边框,且无论boder的值是多少,内部单元格的边框宽度总为1。<table border=1 bordercolor=green bgcolor="red" cellspacing=10 cellpadding=5><tr bgcolor="red"><td>
阅读全文
posted @ 2006-11-11 15:25
阳光VIP1
阅读(161)
推荐(0)
摘要:
// 计算结果,有进位借位或溢出或溢出产生,则为非0,否则为0// 调用完宏后直接加以判断int g_iResult = 0;// 对有符号整数数学计算进行判断#define CARRY / __asm__ ("jo 0f/n/t" / "movl $0, g_iResult/n/t" / "jmp 1f/n/t" / "0:/n/t" / "movl $1, g_iResult/n/t" / "1:/n/t");// 对无符号整数数学计算进行判断#define OVER_F
阅读全文
posted @ 2006-11-11 14:22
阳光VIP1
阅读(108)
推荐(0)
摘要:
针对汪大伦的提问,解释Session中为什么也可能出现线程安全的问题,在服务器端比较缓慢时,一个表单可以被提交多次,这时候就会出现多个线程访问同一个Session的情况。所以,我们是要注意存放在Session中的Cart对象本身应该是线程安全的。前几天雷辉老师在讲解ibatis的JPetStore例子时,我们看到某个业务对象中的一个方法为两个成员变量进行了赋值,结果JSP页面的显示数据就发生了修改,当时觉得很奇怪,我们的习惯思维是将数据显示在某个域范围中,JSP然后显示域范围中的数据。后来雷辉研究明白了,JSP页面显示的就是那个业务对象,业务对象内部的成员变量发生了修改,就导致了JSP页面的显
阅读全文
posted @ 2006-11-11 13:51
阳光VIP1
阅读(133)
推荐(0)
2006年11月8日
摘要:
今天还是讲解自定义标签。首先介绍了IterationTag接口、以及迭代输出标签体内容的标签实现原理和应用。在讲解迭代输出集合中的元素的例子时,先讲解用普通程序代码迭代输出集合的情况:for(String user : users){System.out.println("姓名:" + user)}上面的程序代码包含三个信息:迭代变量、集合对象、显示格式,用自定义标签进行迭代输出时,其格式如下:<it315:iterate var="user" collections="<%= users %>">姓名:${u
阅读全文
posted @ 2006-11-08 23:20
阳光VIP1
阅读(118)
推荐(0)
2006年11月7日
摘要:
学员冯伟立今天中午问了我一个有趣的Java编译问题,我也无法给他解释,不知道有没有路过的高人能够解释清楚原因,望不吝赐教!下面程序的main方法中的第二行代码和注释中的两行代码表达的意思完全相同,注释中的两行代码不能通过编译(这很容易理解),而第二行(采用方法调用链)却可以顺利通过编译(这就很难理解了)。public class Test{ public void func() { System.out.println("func"); } public static void main(String args[]) throws Exception { Object ob
阅读全文
posted @ 2006-11-07 22:15
阳光VIP1
阅读(122)
推荐(0)
摘要:
Tag接口中的常量与Tag接口中的各个方法的讲解,在一个标签处理器类中实现Tag接口的每个方法,根据打印结果的先后顺序就可以知道每个方法的调用顺序了。设计一个自定义标签,如果用户已经登录,则显示出该标签内存放的用户私人信息(如,留言,短消息等),否则,只能看到标签之外的那些通用信息。开发防止“盗链”的自定义标签,书稿中没有讲为什么要选择在doEndTag进行编程检查?因为只有doEndTag方法可以返回SKIP_PAGE。为自定义标签定义属性,标签的动态属性值与静态属性值的区别,动态属性值的最大好处在于可以传入对象。动态属性与DynamicAttributes接口的setDynamicAttr
阅读全文
posted @ 2006-11-07 21:55
阳光VIP1
阅读(279)
推荐(0)
2006年10月29日
摘要:
今天还是梁言兵老师为大家讲解appfuse,下面是我随便记录的一点心得:javascript可以实现浅度校验,包括"结束日期不能小于起始日期";WEB服务器端程序可以实现深度校验,例如,校验用户名是否重复。增加与修改用同一个表单,所以,为了实现复用,增加与修改的请求都交给同一个Spring MVC的Controller处理,只是请求参数有点不同。这种关系的用例图该怎么画呢?好像还是应该用两个单独无关的用例来描述。SimpleFormController说明这个Controller会关联到一个表单上,通过其setCommandName和setCommandClass这两个方法
阅读全文
posted @ 2006-10-29 21:49
阳光VIP1
阅读(95)
推荐(0)