Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7582657 建立时间:2006年5月29日 |

| |
[Java Open Source]基于jboss rule规则引擎的商务折扣例子 软件技术
lhwork 发表于 2006/7/13 10:27:57 |
xxx购物超市折扣规则描述: 1.任何顾客的购物总价大于1000元则享受9折优惠 2.vip顾客的时候无论购物总价是多少享受7折优惠 3.普通顾客没有特别政策,另有规定的除外 4.白金顾客享受8.5优惠,无论购物总价多少。 5.黄金顾客享受9折优惠无论购物总价多少。 6.任何顾客所够商品中包含tv的时候,优惠后再优惠9.5折 这个user case 是自己想的,不是很复杂
对应的规则文件
#created on: 2006-6-10 #created by: kebo package com.sample
import com.sample.Person; import com.sample.ShopCat; import com.sample.Product; import com.sample.Helper;
rule "PRICE_DISCOUT"   |
|
[Eclipse]birt使用经验 软件技术
lhwork 发表于 2006/7/13 10:26:18 |
通过最近一段时间的birt报表的研究,也有了一点心得,现在遇到的最大的麻烦就是birt在Websphere中的部署问题,因为一直是在JBOSS中测试的,客户的应用服务器是 |
|
[Eclipse]收集一些BIRT的文章 软件技术
lhwork 发表于 2006/7/13 10:25:47 |
最近准备研究报表,打算使用eclipse开源的BIRT,今天开始学习,从网上找了一些好文章,先记在下面:
http://www-128.ibm.com/developerworks/cn/opensource/os-ecl-birt/
http://www.blogjava.net/davidxu/articles/6782.html
http://www.theserverside.com/tt/articles/content/EclipseBRT/article.html< |
|
[J2SE]Java生成UUID 软件技术
lhwork 发表于 2006/7/13 10:11:00 |
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。
在Java中生成UUID主要有以下几种方式:
1. JDK1.5 如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID: java.util.UUID,直接调用即可. UUID uuid = UUID.randomUUID();
2. 第三方开源类库(推荐使用): 最著名的是 JUG .特点上是: 纯J |
|
[Tapestry]Tapestry的数据校验功能 软件技术
lhwork 发表于 2006/7/11 17:56:31 |
数据校验是Web应用的一个很重要的功能。
tapestry支持配置式的数据校验,通过使用Delegate、FieldLabel和TextField对数据的显示进行修饰。在page文件中对各输入数据的校验规则进行配置。
可以使用系统提供的Validator。出错信息也提供了多种语言的版本,很方便。
但是问题是:如果表单有多个Submit按钮,不同的按钮需要的校验规则不同,此时该如何做?
众多的web开源框架都存在这样的问题,包括Struts、spring等。
我觉得表单的校验规则应当基于每个提交动作进行配置,而不是基于表单的所有提交动作。
这个现象普遍存在我觉得很奇怪,难道老外做 |
|
[Tapestry]Tapestry在静态页面和动态内容分工方面的研究 软件技术
lhwork 发表于 2006/7/11 17:56:08 |
Tapestry的一个最耀眼的功能是其绝好的模板设计思想,它能够将动态内容以极少的侵入性而展现到HTML页面上,我对其这一功能非常赞赏,如果
Tapestry能够像Spring那样把这一部分HTML模板解析功能独立出来,打成一个Tapestry-Core.jar极不妙哉?!
在工作实践当中,我发现Tapestry提供的Shell组件其实用处不大,美工人员作出的页面大多已包括HTML TITLE HEAD LINK
等标签,如果将这些删除而封装到Shell岂不多此一举?而且Shell引用CSS IMAGE的方式(Asset)比较麻烦。
所以,我建议开发组不使用Shell而直接采用原来静态页面的配置,但是Tapestry对URL进行了处理而且使用Servlet之后相对路径往往会出问题,为此提供了一个简单Base组件,在HEAD中增加一个base标签即可。
如页面头部如下:
<html>
<head> |
|
[Tapestry]Tapestry中Sumbit/ImageSubmit的属性selected和tag 软件技术
lhwork 发表于 2006/7/11 17:54:44 |
个人认为Submit/ImageSubmit标准组件的两个属性selected和tag的设置比较罗嗦,可能是性能和灵活性的一种权衡吧。
其中,selected指定页面类的一个属性,tag设置该页面属性的值。selected和tag组合起来可以使页面类知道用户点击了哪个提交按钮。
Tapestry已经将多个提交按钮绑定于不同的监听方法上,似乎在很多web应用中并不需要知道用户点击了哪个提交按钮。
我现在正在做的项目却需要根据不同的提交按钮而进行不同的数据校验!
此时,我的实现方法是
1,SubBasePage中提供一个属性submitName用于保存用户点击的提交按钮的名字。
2,修改AbstractSubmit的handleClick方法:
if (cycle.getPage() instanceof SubBasePage) {
&n |
|
|