`
xiaojianbo
  • 浏览: 34472 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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提交时,则会忽略域IDinput_aainput_aa1aaa的验证以及解码

button2提交时,则会忽略域IDinput_bbinput_bb1bbb的验证以及解码

当域ID被忽略时,则它里面的所有子域(子组件)也会被忽略

 

(3)     例子

<h:form submitConfig="button1:input_aa|input_aa1|aaa,button2:input_bb|input_bb1|bbb">

 

<s:div id="aaa">

           <h:inputText required="true" />

           <h:inputText required="true" />

       </s:div>

 

       <s:div id="bbb">

           <h:inputText required="true" />

           <h:inputText required="true" />

       </s:div>

 

       <h:inputText id="input_aa"  required="true" />

       <h:inputText id="input_aa1" required="true" />

 

       <h:inputText id="input_bb" required="true" />

       <h:inputText id="input_bb1" required="true" />

 

       <h:commandButton id="button1" value="submit1" />

       <h:commandButton id="button2" value="submit2" />

    </h:form>

 

 

大致是这样配置后即可,然后对jsf form组件标签进行扩展.

分享到:
评论

相关推荐

    SUN JAVA Studio Creator 2 IDE 中 构建Web 应用程序.pdf

    2. **使用CSS、虚拟表单、转换器和验证器**:为了提高用户体验和代码质量,Creator 2提供了丰富的工具来帮助开发者使用CSS样式美化页面、创建虚拟表单以提高表单处理效率、自定义转换器和验证器来确保数据输入的正确...

    Primefaces 参考资料

    - **Keyboard**:键盘组件,模拟虚拟键盘。 - **Layout**、**LayoutUnit**:布局组件,用于复杂页面布局设计。 - **LightBox**:轻量级弹窗组件,用于展示大图或其他内容。 这些组件覆盖了从基本的用户界面元素到...

    PrimeFaces教程v0.5.doc

    - **2.3.2 CommandButton**: 提交表单或触发服务器端操作的命令按钮。 - **2.3.3 CommandLink**: 类似于按钮的行为,但以链接的形式呈现。 - **2.3.4 ContextMenu**: 右键点击时出现的上下文菜单。 - **2.3.5 HotKey...

    JAVAEE电子宠物

    在电子宠物应用中,JSF组件可以用来创建用户友好的界面,如领养宠物的表单、宠物状态的显示等。 7. **CDI(Contexts and Dependency Injection)**:这个是JAVAEE中的依赖注入框架,可以帮助开发者更方便地管理对象...

    TomCat-Web-2022-05-25-AXIOS

    这包括Servlets、JSP(JavaServer Pages)、JSF(JavaServer Faces)等技术。Tomcat是Apache软件基金会的一个开源项目,它是一个轻量级应用服务器,特别适合部署Java Web应用程序。Tomcat服务器遵循Java EE...

    tomcat-5.5.26

    7. **配置管理**:Tomcat的配置主要通过`server.xml`、`web.xml`等XML文件进行,包括服务器端口设置、虚拟主机定义、应用上下文路径、数据源配置等。 8. **热部署**:Tomcat支持热部署,即在服务器运行状态下,...

    用jsp编写的图书馆管理网站

    6. 数据绑定和验证:例如使用JavaServer Faces (JSF) 或者自定义标签库(Tag Libraries)进行数据绑定和表单验证。 7. 响应式设计:确保网站在不同设备上都能良好显示,可能需要了解CSS框架如Bootstrap。 8. 实时...

    primeface参考书

    48. **Keyboard**:虚拟键盘,用于触摸设备输入。 49. **Layout**:布局容器,用于管理页面布局。 50. **LayoutUnit**:布局单元,用于定义布局内的区域。 51. **LightBox**:灯箱组件,用于展示放大后的图像。 52. ...

    primefaces_users_guide_3_3.pdf

    - **Keyboard**:键盘组件,提供虚拟键盘功能。 - **Layout/LayoutUnit**:布局组件,用于构建复杂的页面布局。 - **LightBox**:灯箱效果,用于放大图像或其他媒体内容。 - **Log**:日志组件,记录系统或用户活动...

    SOA通用架构.docx

    12. **系统引擎**:包括工作流引擎、搜索引擎、规则引擎、报表引擎、智能分析引擎和表单引擎,这些都是业务流程自动化和数据分析的关键组件。 13. **安全机制**:认证、授权和权限管理确保了服务的安全访问。 14. ...

    primefaces

    - **Fieldset**:用于组织表单字段的容器组件。 - **FileDownload**:文件下载组件,允许用户下载文件。 - **FileUpload**:文件上传组件,支持多文件上传。 - **Focus**:聚焦组件,控制页面元素的焦点。 - **...

    primefaces中文教程

    1. **Button**:标准按钮组件,用于触发事件或提交表单。 2. **CommandButton**:命令按钮,与JSF动作方法关联,执行特定业务逻辑。 3. **CommandLink**:命令链接,与命令按钮相似,但外观上更接近链接。 4. **...

Global site tag (gtag.js) - Google Analytics