小编Luc*_*ane的帖子

什么时候是托管bean构造函数?

什么时候是托管Bean构造函数?它只被叫一次吗?

谢谢!

jsf constructor managed-bean

6
推荐指数
1
解决办法
3704
查看次数

如何在xhtml页面上有多个<h:message>,显示不同的内容

如何<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:消息?他们谈论类似的问题,但是 …

java validation ajax jsf message

2
推荐指数
1
解决办法
1035
查看次数

<h:commandButton>不调用方法

我有一个 <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在方法的第一行打印,但它没有打印.

这是怎么造成的,我该如何解决?

jsf action managed-bean commandbutton

1
推荐指数
1
解决办法
5030
查看次数