日期:2014-05-16  浏览次数:20441 次

JSF虚拟表单

JSF虚拟表单,对应熟练使用JSF的人来说,可能也是很陌生的(如果之前未接触过Netbeans IDE里面的可视化JSF),我之前用过可视化JSF,觉得虚拟表单很不错,于是想迁移到JSF,Richfaces里面来,查看了很多源码和机制,终于写出来了,并且得到了大量的使用,解决了一些复杂页面的需求。

?

大家都知道在JSF的form里面的文本域,若验证不通过,即使是不需要提交的域,则也提交不了表单。

?

我这里简单的写了个文档,可能描述不是太清楚,不知道人家看到了能不能明白我的意思:

?

虚拟表单简述

?

(1)???? 说明

JSF有一个真实表单,另外可以定义多个虚拟表单。

虚拟表单由参与者和提交者组成。

虚拟表单可以有多个参与者,也可以没有参与者。

注:我们这是设置不参与提交的域

(2)???? 使用

我们扩展了原有的<h:form>组件,增加了submitConfig属性,用来配置虚拟表单,多个虚拟表单用“,”逗号隔开,虚拟表单名称和域名ID列表用“:”隔开,多个域则用“|”隔开,我们这里的虚拟表单名称就是要提交按钮的ID,如下:

submitConfig="button1:input_aa|input_aa1|aaa|ccc, button2:input_bb|input_bb1|bbb"

这里配置了2个虚拟表单,分别是button1button2

button1不参与提交的域IDinput_aainput_aa1aaa

button2不参与提交的域IDinput_bbinput_bb1bbb

button1提交时,则会忽略域ID