如何<h:message>
在页面中显示不同内容的多个标记?
我正在验证一个inputtext
,像这样:
Title: <h:inputText id="input"
value="#{insertDocController.docController.documentBean.title}"
required="true" requiredMessage="Required!">
<f:ajax execute="@this" render="message" event="blur" />
</h:inputText>
<h:message for="input" id="message" style="color:red" />
Run Code Online (Sandbox Code Playgroud)
此页面旨在提交有关文档的一些信息.在我提交每个文档后,我想显示一条确认消息,提交按钮的代码是这样的:
<h:commandButton id="submit" value="insert" action="#{insertDocController.submit}" />
<h:messages id="submitMessage" />
Run Code Online (Sandbox Code Playgroud)
并且在submitMessage
方法上生成submit()
:
public void submit() throws IOException {
String fileName = FilenameUtils.getName(uploadedFile.getName());
String contentType = uploadedFile.getContentType();
byte[] bytes = uploadedFile.getBytes();
FacesContext.getCurrentInstance().addMessage("submitMessage",
new FacesMessage(String.format("File '%s' type '%s' successfully " +
"submitted!", fileName, contentType)));
this.docController.submit();
}
Run Code Online (Sandbox Code Playgroud)
当我测试它,inputtext
留空并点击时submit button
,页面会在inputtext
标题旁边显示一条红色信息,在提交按钮旁边显示一条黑色信息,但两者都显示相同的内容:"必填!"
在此链接上:如何在一个页面上使用多个h:messages或p:消息?他们谈论类似的问题,但是 …
我有一个 <h:commandButton>
<f:metadata>
<f:viewParam name="uri" value="#{pesquisaBean.selectedUri}" />
<f:event listener="#{pesquisaBean.searchElement()}" type="preRenderView"></f:event>
</f:metadata>
<h:head>
<title>Detalhes do Documento</title>
</h:head>
<h:body>
<br />
Detalhes do Documento
<br />
<br />
<rich:dataTable value="#{pesquisaBean.documentDetailsByTitle}" var="result">
<c:forEach items="#{pesquisaBean.variableNamesDetails}" var="vname">
<rich:column>
<f:facet name="header">#{vname}</f:facet>
#{result[vname]}
</rich:column>
</c:forEach>
</rich:dataTable>
<br />
<h:commandButton value="Excluir" action="#{pesquisaBean.delete()}" />
<br />
<br />
Run Code Online (Sandbox Code Playgroud)
和这个行动方法
public void delete() {
System.out.println("Hello");
this.removeDocument(databaseModel, this.selectedDocument);
System.out.println("");
System.out.println("After deleting!!!!!!!!!!!!");
StmtIterator result = databaseModel.listStatements();
while( result.hasNext() ) {
Statement stmt = result.next();
System.out.println(stmt);
}
Run Code Online (Sandbox Code Playgroud)
但是,命令按钮不会调用操作方法.我正在尝试Hello
在方法的第一行打印,但它没有打印.
这是怎么造成的,我该如何解决?