クリックすると入力テキストを生成するボタンが 2 つあります。問題は、これら 2 つのボタンが同じ上にある場合xhtml
、最初のボタンが機能するのは 1 つだけです。
必要な場合は、以下のコード 1について説明します。
の作成者の
とinputtexts
を取得するには、2 つを表します。Managed Bean に属するメソッドを表します。name
email
Document
moreAuthors
getMoreAuthors()
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 つだけです。
を返します。クラスはクラス
のインスタンスを作成します。
にはプロパティがあり、 と呼ばれるプロパティがあります。 Document
moreSubjects
List<SubjectBean>
SubjectBean
Subjects
SubjectBean
Subject sub
Subject
String 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番目のブロックは決して機能しません-そして、すでにそれらの位置を変更しようとしましたが、画面の最初の場所に配置した方が機能するもの。
この問題の原因は何ですか?
ありがとうございました!