OrderList <p:ajax> Unable to attach behavior to non-ClientBehaviorHolder parent <p>I got stuck with a problem which seems to have been solved here. I want to use order list as it's in an example <a href="http://www.primefaces.org/showcase/ui/data/orderList.xhtml" rel="nofollow">here</a>. But it doesn't work at all. I have nested <code>&lt;p:ajax&gt;</code> in order list like in an example.</p> <p>Namely, I have got an error:</p> <blockquote> <p>javax.servlet.ServletException: /resources/abc/rankingAnswer.xhtml @21,85<code>&lt;p:ajax&gt;</code> Unable to attach behavior to non-ClientBehaviorHolder parent</p> </blockquote> <p>My Primefaces config in pom.xml is</p> <pre><code> &lt;!-- prime faces --&gt; &lt;primefaces.version&gt;5.1&lt;/primefaces.version&gt; &lt;primefaces.themes.version&gt;1.0.10&lt;/primefaces.themes.version&gt; </code></pre> <p>My view is</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:composite="http://java.sun.com/jsf/composite" xmlns:p="http://primefaces.org/ui" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"&gt; &lt;composite:interface&gt; &lt;composite:attribute name="question" /&gt; &lt;/composite:interface&gt; &lt;composite:implementation&gt; &lt;ui:decorate template="answerDecorator.xhtml"&gt; &lt;ui:define name="component"&gt; &lt;p:orderList value="#{cc.attrs.question.possibleAnswers}" var="answer" itemLabel="#{answer.text}" itemValue="#{answer}" controlsLocation="left" editable="true" &gt; &lt;f:facet name="caption"&gt;#{msg['survey.default.makeOrder']}&lt;/f:facet&gt; &lt;p:ajax event="reorder" listener="#{cc.attrs.question.onReorder}" /&gt; &lt;p:column&gt; &lt;h:outputText value="#{answer.text}" /&gt; &lt;/p:column&gt; &lt;/p:orderList&gt; &lt;/ui:define&gt; &lt;/ui:decorate&gt; &lt;/composite:implementation&gt; &lt;/html&gt; </code></pre> <p>My model is</p> <pre><code>public class RankingQuestionDTO extends AbstractQuestionDTO implements Serializable { private ArrayList&lt;RankingAnswerDTO&gt; possibleAnswers; private boolean randomizeAnswers; private String text; public RankingQuestionDTO() { super(QuestionType.RANKING); this.text = MessageUtils.getBundle("survey.default.text"); this.possibleAnswers = new ArrayList&lt;&gt;(); this.possibleAnswers.add(new RankingAnswerDTO(MessageUtils.getBundle("survey.default.text"))); this.possibleAnswers.add(new RankingAnswerDTO(MessageUtils.getBundle("survey.default.text"))); this.randomizeAnswers = true; } public void onSelect(SelectEvent event) { System.out.print(event.getObject().toString()); } public void onUnselect(UnselectEvent event) { System.out.print(event.getObject().toString()); } public void onReorder() { } public void addEmptyPossibleAnswer() { this.possibleAnswers.add(new RankingAnswerDTO(MessageUtils.getBundle("survey.default.text"))); } public ArrayList&lt;RankingAnswerDTO&gt; getPossibleAnswers() { return possibleAnswers; } public String getText() { return text; } public void setPossibleAnswers(ArrayList&lt;RankingAnswerDTO&gt; possibleAnswers) { this.possibleAnswers = possibleAnswers; } public void setRandomizeAnswers(boolean randomizeAnswers) { this.randomizeAnswers = randomizeAnswers; } public boolean getRandomizeAnswers() { return randomizeAnswers; } public void setText(String text) { this.text = text; } } </code></pre>