博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSF如何实现onblur后的复杂校验逻辑
阅读量:4114 次
发布时间:2019-05-25

本文共 517 字,大约阅读时间需要 1 分钟。

在JSF Request Processing Lifecyle中,首先第一个Step是Restore View,然后Apply Request Values,之后才开始Process Events。

了解了这个原理之后,你就知道,ValueChangeEvent是在Apply Request Values之后,也就是将输入的值向后台提交之后才被fire的。地球人都知道,只有在form中submit才能将界面的data向后台提交。
所以,有如下办法:
在<h:inputText />中添加一个属性οnblur="applyValue();",执行的javascript就是执行form.submit();
那Form真正要提交改怎么办呢?
了解JSF的原理后知道:
EventListener是没有返回值的,backing bean可以将界面当前State保存起来,执行完Listener Method之后,redisplay一下,并不进行页面跳转。
而<h:commandButton />的action就是一个EventAction了,需要返回一个outcome指令,并跳转到相应的页面。
然后,你应该已经知道该怎么做了吧。 

转载地址:http://gdwpi.baihongyu.com/

你可能感兴趣的文章
proxychains-3.1 在CENTOS 7上安装使用方法
查看>>
openstack问题远程解决小结
查看>>
virtual box 下WIN7虚拟机C盘容量扩展方法
查看>>
VIM配置记录
查看>>
UBOOT传递参数到内核无效?
查看>>
libreoffice calc 插入多行
查看>>
PPTPD centos7 install problem fix
查看>>
gdbserver MIPS64交叉编译
查看>>
gdb + gdbserver 修改内存值
查看>>
aptana for mac 运行报错问题解决方案
查看>>
r720 安装CENTOS7经验
查看>>
CENTOS 6.8 I386上 -lcrypto 错误
查看>>
uboot测试技巧
查看>>
cavium工具链交叉编译libiconv
查看>>
xz_wrapper.c:28:18: 致命错误:lzma.h:没有那个文件或目录 解决案例
查看>>
照着例子试了一下automake
查看>>
关于PCIE
查看>>
将PCIE接口抽象成网络接口
查看>>
mac OS X 安装 使用KERMIT
查看>>
指向指针的指针测试
查看>>