XForms页面结构

XForms页面结构也同样实现了数据、逻辑、显示三层的分离。但是客观上来说没有Struts那样分离的那样清晰。下面举一个简单的XForms的例子我们来看看它的页面构成。
<xforsm:head>
  <xforms:model>
      <xforms:submission id="M-001" action="../debug.jsp" method="post">
      <xforms:instance id="M-002">
          <data>
            <name/>
          </data>
      </xforms:instance>
      <xforms:bind id="M-003" nodeset="M-002">
          <xforms:bind id="M-103" nodeset="data/name" type="string"/>
      </xforms:bind>
  </xfomrs:model>
</xforms:head>
<xforms:body>
  <xforms:group id="M-004">
      <xforms:input id="M-005" bind="M-103">
          <xforms:label>name</xforms:label>    
      </xforms:input>
      <xforms:send id="M-006" bind="M-001">
  </xforms:group>
</xforms:body>
  我们看具体剖析一下这个XForm的文档结构,首先它跟普通的htm表单一样也具有head和body部分。整个XForm结构跟XML文档一样所有元素都是成对出现的,其实它也跟Html一样,也是成对的标签,只不过在htm中标签定义的不是那么严格罢了。

  head部分主要包括数据层和绑定部分,<xforms:submission>主要定义了提交信息,在html中是这样的<form action="*.jsp/do" mothed="get/post">形式上来说是一样的。

  <xforms:instance>主要定义视图的数据结构,也是提交表单的数据结构。这就是XForms的数据部分。

  <xforms:bind>它是视图和数据之间的纽带,主要就是把表单的数据绑到数据上,然后提交后台。这也是所谓的业务处理,之所以称为“所谓”是以为它根本够不成业务处理,仅仅能处理一些简单的计算功能。它的另一个功能是约束显示层的信息,type="string"就是定义name必须为string 类型的。当然它的约束不仅仅是简单的数据类型(如:int,data) 而且还包括对视图显示的控制如readonly()只读。

  最后看看视图部分,视图部分并不象在html那样把每个按钮,或一个输入框自定义,而是简单的用一个标签<xforms:input>来表示一个输入框,一个<xforms:send>提交按钮,来表示显示给用户部分。那么这个时候你就会问那就没有个性化的东西了,对!一切都已经被定义了,原因有2,第一XForms并不适合于对个性化的网页适用,如果想对控件控制必须加入css样式表单控制,个人认为它只适合对大量表格的应用,如数据报表,BI等。第二,XForms称为下一代的web窗体,要跨各种系统如电话,所以就更不能让用户自定义控件否则就不能在不同的系统中运行。一切的一切都属于XForms的命名空间之中。
 



  这个图就是XForms的页面结构图,可以看出来它的逻辑层和显示层并不是完全分离的.

  好了,以上就我对XForms的理解,有不足之处希望高人指点,有说错的地方希望W3C组织不对一个初学者追究。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值