在Java项目中,我们使用PrimeFaces 2.2.1作为JSF扩展。我们正在以寄存器形式将日程表数据实现为“加载小时”,分为两个字段,小时和分钟。我们使用Spinner(p:spinner组件)作为输入元素。但是,当值小于10时,我们需要以显示至少两个数字的格式显示当前数据(仅整数)。
当前输入格式
需要的输入格式
JSF标记的主体看起来像这样:
<div class="form_block">
<div class="form_item">
<h:outputText styleClass="form_item_label" value="Load Hours:"/>
<div class="form_item_field">
<p:spinner id="hora" styleClass="spinnerField" style="height: 12px !important; box-shadow: none !important; border-radius: 4px 0px 0px 4px;"
value="#{hour}" min="00" max="23"><f:convertNumber pattern="00" minIntegerDigits="2" type="number"/></p:spinner>:
<p:spinner id="minutos" styleClass="spinnerField" style="height: 12px !important; box-shadow: none !important; border-radius: 4px 0px 0px 4px;"
value="#{minutes}" min="00" max="59" maxlength="2"><f:convertNumber pattern="00" minIntegerDigits="2" type="number"/></p:spinner>
</div>
<div class="clear"></div>
</div>
</div>
我们还尝试使用Spinner中的f:convertNumber组件进行格式化,但似乎无法正常工作。以前有其他人有类似的问题吗?您可能分享的任何建议?提前致谢
请注意。我们没有实现时间选择器,因为我们精确地处理每个字段(小时和分钟)分开。
答案 0 :(得分:0)
实际上,我不得不改变组件。不是使用p:spinner,而是知道实现了p:inputMask。