【问题标题】:facelet composition control (custom tag) with binding带有绑定的 facelet 组合控制(自定义标记)
【发布时间】:2010-09-15 10:28:09
【问题描述】:

我在创建 Facelet 组合控件(= 自定义标记)时遇到问题。

这是组件的模板 (numberinput.jspx)。我在我的 custom-taglib.xml 中声明了。

到目前为止,包含使用此代码:

<ft:numberInput nullablenumber="true" cid="myId" 
                        bind="#{myBean.mySpecialComponent}"
                        value="#{myBean.license.myProperty }" 
                            label="My Label"/>

这就是模板:

<div id="c_#{cid}"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:ft="http://www.mycomp.com/facelets"
    xmlns:c="http://java.sun.com/jsp/jstl/core" style="overflow:auto" >
    <ui:composition>    
    <ice:message for="#{cid}"></ice:message>
    <ice:outputLabel for="#{cid}">#{label }</ice:outputLabel>

    <ice:inputText          
        id="#{cid}"
        value="#{value}"        
        style="#{style }"   
        required="false"
        disabled="#{disabled }"
        binding="#{ bind}"
        >       
        <f:validator validatorId="notnull"/>    
        <f:converter converterId="nullableNumber"/>

    </ice:inputText> 
    </ui:composition>


</div>

当我的页面上有多个这些标签时,我的问题就出现了。我似乎让 Facelets 感到困惑并且只显示其中的一组,这真的很奇怪。

我的代码有什么问题吗?还是 Facelets 和看起来一样有缺陷?

非常感谢。

根据我目前的经验,我只能劝阻任何人使用 Facelets 自定义标签(至少在使用组件绑定时)。

环境信息:我使用的是 ICEFaces 1.8.2 和 Tomcat 6

【问题讨论】:

  • 请详细说明“我的问题”。
  • 谢谢,我的(相当短的)阐述被一个未封闭的标签吃掉了......

标签: jsf facelets icefaces custom-tag


【解决方案1】:

发现问题! 问题的原因是 我有第二个 ice:inputText 控件,它绑定到同一个后端 bean proberty。看起来这会给 JSF 组件树的生成带来很多问题。

我的错,但如果 JSF 给出任何提示或错误消息而不是仅仅表现得怪异,那仍然会很好......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 2013-02-07
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    相关资源
    最近更新 更多