【问题标题】:Bind two JSF input fields with single property of backing bean使用 backing bean 的单一属性绑定两个 JSF 输入字段
【发布时间】:2012-06-11 13:31:20
【问题描述】:

假设我有两个h:inputText 组件。我想将两个文本字段与支持 bean 中的单个属性绑定。问题是提交给支持 bean 的值是来自第二个文本字段的值。我希望应该从用户输入文本的那个字段提交值。

我的代码:

<h:inputText id="text1" value="#{bean.value}">
    ......
</h:inputText>


<h:inputText id="text2" value="#{bean.value}">
    .......
</h:inputText>

注意上面两个fiekds中的值都是bean.value

【问题讨论】:

    标签: jsf-2


    【解决方案1】:

    添加&lt;f:ajax event="blur"...&lt;f:ajax event="keyup"...

    喜欢这个

    <h:inputText id="text1" value="#{inningBean.dismissalName}">
        <f:ajax event="blur" render="typeWhatYouWant" listener="#{optionalBean.someMethod}"/>
    </h:inputText>
    
    
    <h:inputText id="text2" value="#{inningBean.dismissalName}">
        <f:ajax event="blur" render="typeWhatYouWant" listener="#{optionalBean.someMethod}"/>
    </h:inputText>
    

    或使用 js(使用 viewsource 检查您的 text1text2 真实 ID)

    <h:inputText id="text1" value="#{inningBean.dismissalName}" onkeyup="$('#yourFormID\\:text2').val($('#yourFormID\\:text1').value)"/>
    
    
    
    <h:inputText id="text2" value="#{inningBean.dismissalName}" onkeyup="$('#yourFormID\\:text1').val($('#yourFormID\\:text2').value)"/>
    

    【讨论】:

    • 感谢您的回答,但我遇到这种可怕的情况只是为了避免不必要的服务器请求,这当然不是我的选择。
    • 现在这是个好主意,您能否将其包含在您的回答中,以便我接受您的回答
    猜你喜欢
    • 2014-08-11
    • 2010-12-28
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多