[问题] 初学Primefaces,请教语法问题

楼主: lueichun (no anonymous)   2020-07-02 20:09:08
※状况概述:
以下的primefaces code,
可以做出让calendar的起始日期、到期日期范围被限制在一个范围的效果,
例如起始日期选择2020/6/27,那么到期日期就只能从2020/6/27开始选择,
6/26以前的日期不能选;或是到期日期选择2020/6/25,
那么起始日期就只能从2020/6/24之前开始选:
※程式码:
<p:column>
<p:calendar id="fromDate" showOn="both" value="#{testAction.fromDate}"
binding="#{fromDate}" maxdate="#{toDate.value}">
<p:ajax event="dateSelect" partialSubmit="true"
process="@this, toDate" update="@this, toDate" />
<p:ajax event="change" partialSubmit="true"
process="@this, toDate" update="@this, toDate" />
</p:calendar>
</p:column>
<p:column>
<p:calendar id="toDate" value="#{testAction.toDate}" showOn="button"
binding="#{toDate}" mindate="#{fromDate.value}">
<p:ajax event="dateSelect" partialSubmit="true"
process="@this, fromDate" update="@this, fromDate" />
<p:ajax event="change" partialSubmit="true"
process="@this, fromDate" update="@this, fromDate" />
</p:calendar>
</p:column>
看起来是primefaces ajax的功能,
不过在这边ajax的设定,除了设定触发的事件外,
只是将日期所在的字段id,透过process属性,喂进ajax,
并透过partialSubmit属性提交字段值,也就是起始日期与到期日期;
并且透过update属性,设定要刷新的字段id。
除此之外并没有设定对应的code来处理提交的字段值,
那么提交出去的字段是如何处理的呢?是利用
primefaces ajax或calendar自身的设定或功能来处理吗?
还有为什么触发的事件会用到dateSelect、change这两个??
日期改变就要能自动修改日期范围不是吗?那不能只用change事件就好?

Links booklink

Contact Us: admin [ a t ] ucptt.com