html中prependid的作用,UIForm与prependId =“false”中断
我有一个关于这个事实背后的想法的问题,只有UIForm获得了属性prependId。为什么在NamingContainer界面中未指定属性?你现在可能会说这是因为后向可执行性,但是我宁愿打破可比性,并让实现该接口的用户也实现了prependId的方法。
从我的角度看,在UIForm组件中的prependId的主要问题是它会中断findComponent()
我会期望如果我使用prependId,那么NamingContainer行为会改变,不仅与渲染有关,而且还要在组件树中搜索组件时。
这里有一个简单的例子:
现在当我想要获取panelGroup组件时,我希望将字符串“group”传递给findComponent()方法,但是它不会找到任何东西,所以我必须使用“test:group”。
具体的问题是,当使用ajax与prependId =“false”时。 ajax标签期望在属性更新和进程中,值指示命名容器。这有点奇怪,当我使用prependId =“false”,我必须指定完整的id或路径,但可以。
那么这个代码将不会出现问题,但是它不会更新panelGroup,因为它找不到它。 PartialViewContext将只包含id“group”作为renderIds的元素。我不知道这是否是预期的,可能是,但我不知道代码。现在我们来到方法findComponent()找不到组件的点,因为传递为参数的表达式是“group”,方法将期望“test:group”来查找组件。
一个解决方案是编写自己的findComponent(),这是我选择处理这个问题的方式。在这种方法中,我处理一个NamingContainer的组件,并将一个属性prependId设置为false,就像一个普通的UIComponent一样。我必须为提供prependId属性的每个UIComponent都这样做,那是坏的。反射将有助于摆脱类型的静态定义,但它仍然不是一个非常干净的解决方案。
另一种方法是在NamingContainer接口中引入prependId属性,并将findComponent()的行为改为如上所述。
最后提出的解决方案将改变ajax标签的行为以传递整个id,但这只会解决ajax问题,而不是findComponent()实现背后的程序问题。
你觉得怎么样,为什么这样做呢?我不能第一个有这个问题,但是我找不到相关的话题?
html中prependid的作用,UIForm与prependId =“false”中断相关推荐
- VMware虚拟机文件夹中各文件作用详解
VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...
- Science:亚硝酸盐氧化细菌在黑暗海洋中的主要作用
文章目录 亚硝酸盐氧化细菌在黑暗海洋中的主要作用 写在前面 摘要 热心肠日报 背景 结果 图1 非全长16S rRNA基因序列的系统发育树 图2 通过募集宏基因组片段的方法确定亚硝酸盐氧化细菌单扩增基 ...
- 丰度决定了细菌在复杂群落中的功能作用
本文转载自"微生态笔记",已获授权 标题:Abundance determines the functional role of bacterial phylotypes in c ...
- tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率 损失率,便于判断模型的训练效果:是过拟合还是欠拟合(过拟合)
tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率,便于判断模型的训练效果:是过拟合还是欠拟合 过拟合:训练数据的准确率较高而测试数据的准确率较低 欠 ...
- C#中构造函数的作用
C#中构造函数的作用 共同点: 都是实例化对象,初始化数据的 默认构造是说所有的类都从祖先object那继承了空参的构造方法,你不写与写空参构造都存在,而有参数的构造一般是自己写的,写就有不写就没有, ...
- python里dir是什么意思_python中dir什么作用
python中dir的作用是:1.dir函数传入数据类型返回该数据类型的所有内置方法:2.dir函数传入模块名返回该模块的所有属性和方法. dir() 内置函数的作用 python 内置方法有很多,无 ...
- 浅析SEO优化中标签的作用?
目前,已经有很多企业网站有专门的优化人员来进行SEO优化,在网站SEO优化的过程中会使用到很多标签来利于搜索引擎的读取,提升网站的排名和权重.就以大连网龙科技旗下产品云霸屏为例来讲,云霸屏作为一款全网 ...
- Hibernate 中lazy的作用
Hibernate 中lazy的作用 上一篇 / 下一篇 2009-06-24 20:02:20 / 个人分类:java 查看( 506 ) / 评论( 2 ) / 评分( 5 / 0 ) < ...
- 【Android 逆向】Android 进程注入工具开发 ( 调试进程中寄存器的作用 | 通过 EIP 寄存器控制程序运行 | EIP 寄存器的存档与恢复 )
文章目录 一.调试进程中寄存器的作用 二.通过 EIP 寄存器控制程序运行 三.EIP 寄存器的存档与恢复 一.调试进程中寄存器的作用 内存是一个线性结构 , 将动态库加载到内存中后 , 每个动态库文 ...
最新文章
- java监听变量的变化_[Java学习小记]使用PropertyChangeSupport来监听变量的变化
- 全明星基金季卫东: 重仓新经济冠军,投资“幸福生活“
- windows下安装Sublime+Miktex+Sumatrapdf配置LATEX环境
- 2008年度一个下岗程序员的真实经历
- 鬼题Ghost [manacher]
- c语言最新标准 2017,2017最新C语言介绍
- 常用数据库的驱动程序加载和Url下载地址
- 网易mumu模拟器老版本下载地址/历史版本/完整包
- 核心交换机有什么用?如何选择?
- 谷歌拼音 输入法设置
- Win7系统安装详细教程步骤
- centos 8.0 安装nginx
- 功放限幅保护_为什么要对放大器限幅?
- 项目经历怎么写_工程监理简历范文,【工作经历+项目经验+自我评价】怎么写...
- 读到心醉,很美的文字
- 客户端:Lync 2011 for Mac体验
- 安装mysql后服务里面没有_安装mysql后没有看到服务怎么办?
- 多用户商城系统哪家好?
- 发多少工资才能留住人才?
- 东北师范大学文艺学考研成功上岸经验分享
热门文章
- vue密码强度提示条
- cd返回上一 git_使用Git实现自动化部署项目
- python特性 property_python之中特性(attribute)与属性(property)有什么区别?
- matlab 如何读数据文件,详解如何在python中读写和存储matlab的数据文件(*.mat)
- chrome 63 android分类,Chrome 63 Beta新特性介绍
- c语言中打印ipv6地址,c-来自任何有效地址的ipv4和ipv6
- Numpy 基础 一
- [bzoj3930] [CQOI2015]选数
- 【Core Swagger】.NET Core中使用swagger
- jQuery Portamento 滑动定位