Java 支持Ajax的复合组件

Java 支持Ajax的复合组件,java,ajax,jsf,composite-component,Java,Ajax,Jsf,Composite Component,我在我的JSF 2.0项目中使用复合组件,我想将我的复合组件与以下内容结合起来: <ex:mycompositecomponent> <f:ajax event="change" render="anotherComponent" /> </ex:mycompositecomponent> 有什么办法吗?应该有 以下代码值得一试: <!-- mycompositecomponent.xhtml --> ... <

我在我的JSF 2.0项目中使用复合组件,我想将我的复合组件与以下内容结合起来:

<ex:mycompositecomponent>
    <f:ajax event="change" render="anotherComponent" />
</ex:mycompositecomponent>

有什么办法吗?

应该有

以下代码值得一试:

<!-- mycompositecomponent.xhtml -->
    ...
    <composite:implementation>
      <h:inputText ...>
        <composite:insertChildren /> <!-- contents within <ex:mycompositecomponent>...</ex:mycom....> goes here -->
      </h:inputText>
    </composite:implementation>
    ...

...
...
现在,mycompositecomponent.xhtml的使用应该可以了。

应该可以了

以下代码值得一试:

<!-- mycompositecomponent.xhtml -->
    ...
    <composite:implementation>
      <h:inputText ...>
        <composite:insertChildren /> <!-- contents within <ex:mycompositecomponent>...</ex:mycom....> goes here -->
      </h:inputText>
    </composite:implementation>
    ...

...
...

现在您对mycompositecomponent.xhtml的使用应该可以了。

我知道这是一个旧线程,但您可以使用未记录的clientBehavior来实现这一点 属性此代码将键控事件从h:inputText映射到逻辑文本 事件“myevent”。希望这是不言自明的

index.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:sqcc="http://java.sun.com/jsf/composite/sqcc"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form id="mainform" prependId="false">
            <sqcc:testcomp value="#{indexBean.inputText1}">
                <f:ajax render=":mainform:echo1"/>
            </sqcc:testcomp>
            <h:outputText id="echo1" value="a:#{indexBean.inputText1}"/>
            <br/>
        </h:form>
    </h:body>
</html>

旧线程我知道,但您可以使用未记录的clientBehavior来执行此操作 属性此代码将键控事件从h:inputText映射到逻辑文本 事件“myevent”。希望这是不言自明的

index.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:sqcc="http://java.sun.com/jsf/composite/sqcc"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form id="mainform" prependId="false">
            <sqcc:testcomp value="#{indexBean.inputText1}">
                <f:ajax render=":mainform:echo1"/>
            </sqcc:testcomp>
            <h:outputText id="echo1" value="a:#{indexBean.inputText1}"/>
            <br/>
        </h:form>
    </h:body>
</html>

如果他想在复合组件中的多个位置添加多个AJAX处理程序呢?如果他想在复合组件中的多个位置添加多个AJAX处理程序呢?