0

クリックすると入力テキストを生成するボタンが 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番目のブロックは決して機能しません-そして、すでにそれらの位置を変更しようとしましたが、画面の最初の場所に配置した方が機能するもの。

この問題の原因は何ですか?

ありがとうございました!

4

1 に答える 1

0

同じブロック内のコード 1 と 2に2 つを配置したところdatatables、両方とも機能しました。<form>

于 2013-11-08T15:15:50.007 に答える