我有两个按钮,单击时会生成输入文件。问题是,当这两个按钮位于同一个xhtml
上时,以第一个为准,它是唯一有效的按钮。
如果您需要,以下是对代码1 的解释:
它代表两个inputtexts
来获取name
和email
作者的Document
。 moreAuthors
代表
属于托管Bean getMoreAuthors()
的方法inserirBean
。
getMoreAuthors()
返回List<AuthorBean>
。
List<AuthorBean>
是Managed Bean inserirBean
中的属性。
类AuthorBean
创建Author
的实例,它有一个名为的属性
Author author
。
AddAuthor()
又向AuthorBean
添加了一个List<AuthorBean>
托管Bean inserirBean
。
如果您需要,以下是对代码2 的解释:
它遵循 Code 1 相同的结构。这里只有一个
inputtext
用于获取Document
的主题。
moreSubjects
会返回List<SubjectBean>
。班级SubjectBean
创建类Subjects
的实例。
SubjectBean
有一个属性Subject sub
,
Subject
有一个名为String subject
的属性。
AddSubject()
又向SubjectBean
添加了一个List<SubjectBean>
托管Bean 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>
但是,如果我把这两个块放在同一个xhtml
上,那个首先出现在浏览器上的块,总是有效,第二个,从来没有 - 我已经我试图改变他们的位置,但无论我把它放在屏幕上的第一位都是有效的。
是什么导致了这个问题?
谢谢!
答案 0 :(得分:0)
我只是将代码1和2 中的两个datatables
放在同一个<form>
块中,并且都有效。