JSF的编码和解码

        JSF页面中包含了很多jsf标签,每个标签都有一个相关的标签处理程序类。当读取该页面的时候,执行标签处理程序。JSF标签处理程序彼此协作来构建一棵组件树。组件树是一种数据结构,其中包含与JSF页面上所有用户界面元素对应的JAVA对象。

       1、当JSF呈现页面时,组件树中的各个JAVA组件对象会将JSF标签转换成HTML输出。这一过程称为编码,例如:

       <h:form id="form1">

                <h:inputText id="name" value="小明" />

       </h:form>

       编码后的html为:

      <form id="form1"  method="post" ....>

                <input type="text" name="form1:name" value="小明" />

       </form>

       这个例子中药注意两点:

       1)、JSF表单提交都是由POST方法实现的。因为客户端保持状态的一种选择就是因此字段实现,隐藏字段的内容可能比较长,所以可能超出请求参数缓冲区得限制,所以禁止get方法提交。

       2)、生成html中元素实际id。在form表单中的元素id都是为f”ormid:元素id“格式的,在html中没有定义id的jsf会自动给它生成一个id,但格式不变。

       2、浏览器将表单数据发送回Web服务器,格式化为一个post请求,作为servlet处理的一部分,表单数据位于所有组件都可以访问的散列表中。接下来,JSF框架为每个组件提供一个检查散列表的机会,每个组件决定自己如何解释表单数据,这一过程称为解码。

      


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值