【问题标题】:communicatio between xhtml page and backend beanxhtml页面和后端bean之间的通信
【发布时间】:2013-07-25 13:37:04
【问题描述】:

我的问题是我是否有一个带有组件的 xhtml 页面,其中一个是示例

<h:inputText id="input" value="#{userBean.name}" 
           valueChangeListener="#{userBean.valueChanged}"/>

如果我在后端 bean 中有适当的方法:

    public valuseCHanged(ValueChangeEvent e){

        (UIInput)input=(UIInput)e.getSource;
UISelectOne listbox = (UISelectOne)input.findComponent("listbox");
    ......
        }

什么是发送到back-and bean,ValueChanged类的一些Object e。浴其与此组件相关的对象属性在哪里进行了更改或所有页面的示例?那之后输入值代表什么?为什么我们在样本上有行 input.findComponent("ID_of_anoder_component") ?

【问题讨论】:

    标签: jsf-2


    【解决方案1】:

    什么是发送到back-and bean,

    username.name 映射到 userbean 的 name 字段,前提是提供了 setter 方法,并且只要 name 的值发生更改,就会调用方法 valueChanged

    以及输入值代表什么

    input value 表示名为 name 的 backing bean 字段的值。你有一个类UserBean 和一个字段name。所以它将代表name 值。

    以及为什么我们有行 input.findComponent("ID_of_anoder_component") 样品?

    name 的值发生变化时会调用此方法,每当发生这种情况时,这些方法都会找出组件listbox

    【讨论】:

    • for value="" 没问题,看看 valueChangeListener 主要是什么问题。调用中的 (ValueChangeEvent e) 代表的是与整个页面或已确定组件相关的对象?
    • valueChangeListener="#{userBean.valueChanged}" ValueChangeEvent 将适用于任何使用 valueChangeListener 方法的组件。它可以是整个页面,具体取决于组件的位置和绑定
    • 好的,如果我们可以返回 e.getSource 这个返回事件最初发生的对象。问题是这个对象代表什么 xhtml 页面、这个页面上的表单或只有我们有 valueChangeListener 属性的组件?
    • @vmaric,是的,它会返回事件的来源
    • 它表示导致该事件触发的对象。
    猜你喜欢
    • 2017-12-23
    • 2018-10-05
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多