クリックすると入力テキストを生成するボタンが 2 つあります。問題は、これら 2 つのボタンが同じ上にある場合xhtml、最初のボタンが機能するのは 1 つだけです。
必要な場合は、以下のコード 1について説明します。
の作成者の
とinputtextsを取得するには、2 つを表します。Managed Bean に属するメソッドを表します。nameemailDocumentmoreAuthorsgetMoreAuthors()inserirBean
getMoreAuthors()を返しますList<AuthorBean>。List<AuthorBean>マネージド Bean のプロパティですinserirBean。このクラスAuthorBeanは のインスタンスを作成し、Authorというプロパティを持っています
Author author。
AddAuthor()in Managed Bean にもう 1 つ追加AuthorBeanします。List<AuthorBean>inserirBean
必要な場合は、以下のコード 2について説明します。
コード 1と同じ構造に従います。ここで
は、 a の主語をinputtext取得するために使用されるのは1 つだけです。
を返します。クラスはクラス
のインスタンスを作成します。
にはプロパティがあり、 と呼ばれるプロパティがあります。 DocumentmoreSubjectsList<SubjectBean>SubjectBeanSubjectsSubjectBeanSubject subSubjectString subject
AddSubject()in Managed Bean にもう 1 つ追加SubjectBeanします。List<SubjectBean>inserirBean
コード 1 - これが の唯一のコードである場合xhtml、次のように機能します。
<h:form >
<h:dataTable value="#{inserirBean.moreAuthors}" var="authorBean">
<h:column>
Nome do Autor:
<h:inputText value="#{authorBean.author.name}" />
</h:column>
<h:column>
Email do Autor:
<h:inputText value="#{authorBean.author.email}" />
</h:column>
<f:facet name="footer">
<h:panelGroup>
<h:commandButton value="+" action="#{inserirBean.addAuthor()}" />
</h:panelGroup>
</f:facet>
</h:dataTable>
</h:form>
2-これが の唯一のものである場合xhtml、それも機能します。
<h:form >
<h:dataTable value="#{inserirBean.moreSubjects}" var="subjectBean">
<h:column>
Palavras-chave:
<h:inputText value="#{subjectBean.sub.subject}" />
</h:column>
<f:facet name="footer">
<h:panelGroup>
<h:commandButton value="+" action="#{inserirBean.addSubject}" />
</h:panelGroup>
</f:facet>
</h:dataTable>
</h:form>
しかし、これら2つのブロックを同じxhtmlに配置すると、ブラウザに最初に表示されるブロックは常に機能し、2番目のブロックは決して機能しません-そして、すでにそれらの位置を変更しようとしましたが、画面の最初の場所に配置した方が機能するもの。
この問題の原因は何ですか?
ありがとうございました!