javaee
jsf页面出错的时候,datatable不能恢复原有值的解决办法
摘要: 在使用jsf的时候,它的事件驱动模式是一个很好的开发方法,但是由于jsf毕竟现在的版本才1.2,所以对于有些细节上面处理就不一定如人意了,一般来说,当jsf的页面验证有错或者有其它的错误的时候,我们以前输入的值会在渲染页面的时候,恢复回来,也就是说,一个域我们绑定在后台的属性是一个int 值,但是我们前台输入了“abcd”,这个时候,后台在验证阶段就过不去了。然后直接渲染页面,jsf 会把我们输入错误的abcd渲染出来。而不是把我们以前绑定在后台的那个属性的值,取出来,这样也正是我们想要的结果,但是当我们的页面包括了 datatable的时候,并且datatable里面的值是可以编辑的时候,当页面上有错误的时候,别的域都会显示刚才我们输入的值,唯有 datatable里面的输入域的值没有还原为我们刚才输入的值,而是绑定在后台的值,这显然不是我们想要看到的。但是当datatable有错误的输入的时候,datatable才会把它的值恢复回来。说了这么说,感觉有点语无伦次了,还是拿代码说话吧。
阅读全文
posted @
2009-02-28 11:17 千里冰封 阅读(5760) |
评论 (2) 编辑
jpa和hibernate对删除操作的不同
摘要: 在hibernate里面调用session的delete方法以后,无论这个被删除的对象有没有被人外键引用到,都可以被删除,并且此时的外键设为 null,也就是说他会自动帮我们去查看他被谁引用到了。然后把引用全部去掉后,再把自己删掉。而在jpa里面,如果调用 entitymanager.remove方法时,传进去的对象,有被外键引用到,则会失败。因为jpa里面的实现就是直接执行delete语句,也不管他有没有被外键引用,此时,当然会出错了。
阅读全文
posted @
2008-10-21 08:23 千里冰封 阅读(5968) |
评论 (6) 编辑
使用jpa的不同实现的配置
摘要: 以前使用jpa的实现是toplink,现在改为hibernate,所以要修改persistence.xml文件,两者的配置有一些不一样,并且在 ee环境下面和se的环境下面也有不一样,还有一点,那就是当persistence.xml里面有些格式出错的时候,虽然出错的不是我们需要的那个单元,但也会使得整个persistence.xml报废。
阅读全文
posted @
2008-10-19 18:38 千里冰封 阅读(4986) |
评论 (3) 编辑
为glassfish配置多个domain
摘要: 在开发的过程中,我们可能需要将生产环境和调试环境分开来,这样才能保证安全性,但是安装两个glassfish又不太可能,因为它太庞大了。另外做为一个工程发布也不太方便,每次都要将工程名改来改去,并且绑定的ejb在同一个域内里是不能同名的。这样的话,要改变的东西实在是太多了。
我们可有以第三种方法,那就是为glassfish添加另外的domain,一个domain跑我们的真实环境,一个domain跑我们的测试环境,因为是同一个glassfish,所以也不会存在从测试到真实环境的移植问题。以后只要改一个domain就可以了。我们在安装glassfish的时候,它已经默认为我们安装了一个domain,那就是domain1.
阅读全文
posted @
2008-10-14 22:59 千里冰封 阅读(5933) |
评论 (2) 编辑
摘要: 今天使用glassfish部署一个ejb的应用,这个ejb又引用到了第三方库,并且第三方库又使用了本地方法,需要导入两个dll动态链接库.反反复复部署了很久,终于还是部署成功了.
posted @ 千里冰封 阅读(2496) |
摘要: 上一篇大概说了一下web工程里面要添加的配置文件以及要引用到的库文件,现在来对ejb工程进行一些改造,让它可以成为seam工程的一部份.
posted @ 千里冰封 阅读(2916) |
摘要: seam是一个挺不错的框架,但是用netbeans来开发它,却有点难度,因为目前netbeans没有seam插件,不像eclipse有jboss 提供的官方插件,但是插件是死的,人是活的,它要能跑起起来,一定有它的配置,下面我们就用netbeans做为ide来开发一个seam的应用.
posted @ 千里冰封 阅读(4158) |
摘要: 一、验证类
1、数字验证内
1.1 整数
1.2 大于0的整数 (用于传来的id的验证)
1.3 负整数的验证
1.4 整数不能大于imax
1.5 整数不能小于imin
2、时间类
2.1 短时间,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 长时间,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小时和分钟,形如(12:03)
3、表单类
3.1 所有的表单的值都不能为空
3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过smaxstrleng
3.4 多行文本框的值不能少于smixstrleng
3.5 判断单选框是否选择。
3.6 判断复选框是否选择.
3.7 复选框的全选,多选,全不选,反选
3.8 文件上传过程中判断文件类型
4、字符类
4.1 判断字符全部由a-z或
posted @ 千里冰封 阅读(12299) |
摘要: 大家赶快去下载试用吧。期待12月3日的正式版的发布。。。
rc2的下载地址是:
http://dlc.sun.com.edgesuite.net/netbeans/6.0/rc2/bundles/netbeans-6.0rc2-windows.exe
posted @ 千里冰封 阅读(2094) |
摘要: 在网页里面,我们经常要用到一些比较小而实用的效果,下面就收集了一些大家都喜欢用的一些效果
posted @ 千里冰封 阅读(9494) |
摘要: 非实体的基类映射
最近我们都说了很多继承方面的映射策略,可是有时候我们却需要继承一个非实体的类,这个类存在于我们的工程项目中,但是我们又不希望它成为一个实体类,这个时候怎么办呢?这个时候我们可以用@javax.persistence.mappedsuperclass来注释它,我们现在就修改一下我们前几天的例子,把person类定义成一个不持久化的类。代码如下:
posted @ 千里冰封 阅读(1138) |
摘要: 继承映射策略之----每个子类一张表
在每个子类一张表的映射策略中,每一个子类都有一张属于自己的表,但是这张表只包括了定义在这个子类上面的属性而已,定义在它的父类的属性它的表里面是没有的,所以这样的方式映射的话,就不会浪费一点资源了,每一张表,每一列都是不可少的,也不会出现冗余。这种格式是有点像table_per_class的策略,只不过这种方案是规范的,没有像table_per_class一样重复定义列,在这里我们叫它joined策略。
按我们的例子,这种策略映射出来的话,数据库的结构将如下所示:
posted @ 千里冰封 阅读(1089) |
摘要: 继承映射策略之----每个具体类一张表
昨天我们看了继承关系中的实现,昨天是用一张表保存所有级别的类,今天我们来了解一下第二种实现方法,每一个类一个单独的表的实现,在数据库我们的例子表现如下:
posted @ 千里冰封 阅读(925) |
摘要: 单个实体bean的映射到数据库的方式很简单,但是如果我们的实体bean之间存在着继承关系呢?在数据库里面将如何表现这种继承关系?
java持久化规范里面提供了三种方式去处理继承实体的映射方式:
一,所有继承层次共单独一张表
二,每个具体的类一个单独的表
三,每个子类一张表
为了更好的举例说明,我们构造出如下的继承层次,以做为例子使用。
posted @ 千里冰封 阅读(931) |