当前位置:  开发笔记 > 编程语言 > 正文

JSF/Seam中的动态ID

如何解决《JSF/Seam中的动态ID》经验,为你挑选了1个好方法。

我正在研究的S​​eam应用程序遇到了一些问题,我想知道是否有人知道它的方法.我的应用程序中有一个表单,它使用AJAX显示某些输入框,具体取决于下拉框中的项目.除了在输入框中设置ID之外,代码工作正常.看起来JSF不允许我通过变量设置ID.标签中的"for"等其他属性也没问题.这里有一些代码解释了我的意思:


  
  • 有谁知道我怎么能超越这个?



    1> billjamesdev..:

    你明白他们为什么不让你设置ID,对吧?JSF接管id创建,因为你在重复的组件循环中,如果他们让你只设置id,你最终会得到重复的ID,这对你无论如何都无济于事.

    在不知道为什么要明确设置ID的情况下,很难为您提供解决方法.如果是JavaScript,你可以做Grant Wagner所建议的,让JSF给你它作为id的内容.您还可以查看生成的HTML并查看id所在的格式.JSF通常使用

    "form_id:loop_id:loop_index:component_id" 
    

    作为它为表单/重复中的组件生成的id.您必须确定并为您的表单提供id和ui:重复标记以了解它们是什么.

    好的,你回答说你想在循环中为特定的inputText设置一个h:message标签,这很容易.

    
    
    

    现在,为输入生成的消息将显示在消息中,并且JSF将破坏"for"属性(尽管这不是生成HTML),就像它将与inputText中的"id"属性匹配一样.

    您甚至可以在处理程序代码中生成OWN消息以转到特定的h:消息,但是在给定支持bean(不是值支持bean)的情况下,您需要使用对clientId的调用来获取消息的目标.有问题的组件.

    推荐阅读
    wangtao
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有