标签: primefaces

在primefaces上传多张图片

我正在使用带有多个上传选项的 PrimeFaces fileUpload。在我的项目中,我想在图像上传期间发送电子邮件通知。我的问题是当我上传 10 张图片时意味着同时发送 10 封电子邮件通知。我想在上传 10 张图片期间只发送一封电子邮件通知。我正在使用 primefaces 3.0 和 jsf 2.0。我该如何解决?

我的 jsf 页面:

     <p:fileUpload id="imaload" fileUploadListener="#{photoUploadAction.handleImage}"  
                           mode="advanced"  multiple="true" process="@form" 
                          update="messages,@form" 
                           allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>  
Run Code Online (Sandbox Code Playgroud)

支持豆:

    public void handleImage(FileUploadEvent event) throws IOException, EmailException {
       try {
            photoUploadVO.setDisabled("false");

            //BufferedImage image = ImageIO.read(in);
            ImageIO.write(resize(bufferedImage, 400,  bufferedImage.getHeight()), "jpg", new File(tmpFile));
            flag = photoUploadDaoService.uploadPhotos(photoUploadVO);

            // profileImageService.uploadPhotos(profileImageBean);
            if (flag == true) {

                if(!loginBean.getType().equals("ngo") && !loginBean.getType().equals("admin") &&
                         !loginBean.getType().equals("ngo_coordinator") ){

                     volName = getVolunteerName(photoUploadVO.getUsrId(),photoUploadVO.getUser_type());

                 lst = apDao.retreiveSetup();
                   notification = lst.get(0).activity_email.toString();
                    email = lst.get(0).approval_toEmail.toString();

                    if(notification.equalsIgnoreCase(tmp)){
                          ecs.sendPhotoNotiFication(email,photoUploadVO,volName);
                    }
                 }

                FacesMessage …
Run Code Online (Sandbox Code Playgroud)

primefaces jsf-2

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

p:数据表,选择模式为多个

根据 primefaces 文档,选择应该是一个数组。在下面的代码中 bean.selectedUsers 被定义为“HasUsersVO[] selectedUsers”,但数据表的值为 List。当我在数据表填满后单击“确定”按钮时,我收到粘贴在底部的强制转换错误。

                <p:dataTable id="userListTable" value="#{bean.peopleVOList}"
                    var="user" rowClasses="odd even" selection="#{bean.selectedUsers}" rowKey="#{user.userGuid}"
                    <p:column selectionMode="multiple" style="width:18px">
                    </p:column>
.....
.....
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)

错误

22:59:16,962 INFO  [class com.zreflect.emyed.managedbean.circle.CircleController] (http--127.0.0.1-8080-3) *******************Outside getUsersList********************
22:59:38,943 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http--127.0.0.1-8080-3) [Lcom.user.PeopleVO; cannot be cast to java.util.Collection: java.lang.ClassCastException: [Lcom.user.PeopleVO; cannot be cast to java.util.Collection
    at org.primefaces.component.datatable.DataTable.getRowData(DataTable.java:835) [primefaces-3.3.1.jar:]
    at org.primefaces.component.datatable.DataHelper.decodeMultipleSelection(DataHelper.java:262) [primefaces-3.3.1.jar:]
    at org.primefaces.component.datatable.DataHelper.decodeSelection(DataHelper.java:240) [primefaces-3.3.1.jar:]
    at org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:72) [primefaces-3.3.1.jar:]
Run Code Online (Sandbox Code Playgroud)

jsf primefaces jsf-2

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

更改请求以查看范围导致 java.io.NotSerializableException: javax.faces.model.ListDataModel

将 managedBean 的范围设置为 ViewScoped 时,出现以下错误。以下是我在尝试调用页面时遇到的异常

javax.faces.FacesException: java.io.NotSerializableException: javax.faces.model.ListDataModel  
at com.sun.faces.renderkit.ResponseStateManagerImpl.getViewState(ResponseStateManagerImpl.java:137)  
at javax.faces.application.StateManager.getViewState(StateManager.java:555)  
at com.sun.faces.context.PartialViewContextImpl.renderState(PartialViewContextImpl.java:416)  
at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:300)  
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:183)  
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981)  
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)  
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:390)  
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)  
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)  
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)  
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)  
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)  
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)  
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)  
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)  
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)  
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)  
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)  
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)  
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)  
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)  
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)  
at java.lang.Thread.run(Unknown Source)  
Caused by: java.io.NotSerializableException: javax.faces.model.ListDataModel  
at java.io.ObjectOutputStream.writeObject0(Unknown Source)  



Sep 26, 2012 4:01:13 PM org.apache.catalina.core.StandardWrapperValve invoke  
SEVERE: Servlet.service() for servlet Faces Servlet threw …
Run Code Online (Sandbox Code Playgroud)

primefaces jsf-2

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

单击 commandLink 时,primefaces 对话框出现后消失

我有这个代码:

<h:form>
        <h:commandLink value="Créer un compte" onclick="dlg3.show();"/>
</h:form>

<p:dialog id="modalDialoog" widgetVar="dlg3" draggable="false" resizable="false" dynamic="true" header="Inscription">
<center>
<p:panel id="xyzBody">
<h:form id="inscri-f">
        <h:panelGrid id="loginPan" columns="2" bgcolor="White">

         <h:outputText value="Nom d'utilisateur :" />
         <p:inputText id="username" value="#{demandeBean.login}"></p:inputText>

         <h:outputText value="Mot de passe :" />
         <p:password id="pwd" value="#{demandeBean.pwd}"/>

         <h:commandButton value="Envoyer demande" update=":inscri-f:cr" 
                 actionListener="#{demandeBean.envoi_dde}"></h:commandButton>

         <h:commandButton value="Retour" action="page1?faces-redirect=true"></h:commandButton>

          <p:outputPanel id="cr"> 
            <h:outputText rendered="#{demandeBean.saved}" value="#{demandeBean.message}"/>
          </p:outputPanel>
                </h:panelGrid>
       </h:form>
       </p:panel>
       </center>
       </p:dialog>
Run Code Online (Sandbox Code Playgroud)

我的问题是当我单击 commandLink 时显示“Créer un compte”对话框并且它很快消失。

jsf dialog primefaces

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

Primefaces :如何在 primefaces 4 中动态创建 &lt;p:menubar&gt; ?

我正在从primefaces 3.4迁移到primfaces 4.我在primefaces 3.4中创建了菜单栏,没有问题。这是豆子:

public MenuBean() {
    MenuItem menuItem = new MenuItem();
    Submenu submenu = new Submenu();


    submenu.setLabel("Nos Solutions");
    menuItem.setValue("Computers");
    menuItem.setUrl("#");
    submenu.getChildren().add(menuItem);

    menuItem = new MenuItem();
    menuItem.setValue("Clothes");
    menuItem.setUrl("#");
    submenu.getChildren().add(menuItem);

    simpleMenuModel.addSubmenu(submenu);

    submenu = new Submenu();
    submenu.setLabel("Nos Problemes");
    menuItem.setValue("Computers");
    menuItem.setUrl("#");
    submenu.getChildren().add(menuItem);

    menuItem = new MenuItem();
    menuItem.setValue("Clothes");
    menuItem.setUrl("#");
    submenu.getChildren().add(menuItem);

    simpleMenuModel.addSubmenu(submenu);

    submenu = new Submenu();
    submenu.setLabel("Nos Solutions");
    menuItem.setValue("Computers");
    menuItem.setUrl("#");
    submenu.getChildren().add(menuItem);

    menuItem = new MenuItem();
    menuItem.setValue("Clothes");
    menuItem.setUrl("#");
    submenu.getChildren().add(menuItem);

    simpleMenuModel.addSubmenu(submenu);

    submenu = new Submenu();
    submenu.setLabel("Nos Solutions");
    menuItem.setValue("Computers");
    menuItem.setUrl("#");
    submenu.getChildren().add(menuItem);

    Submenu submenu1 = new Submenu();
    submenu1.setLabel("Offres");
    menuItem …
Run Code Online (Sandbox Code Playgroud)

java menubar primefaces jsf-2

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

如何在单个页面上创建多个p:确认对话框

我需要使用Primefaces在单个XHTML页面上请求两种不同类型的确认对话框.Primefaces展示中的当前示例非常基本.以下是我的基本示例:

<h:form id="mydatatableform"> 
<p:dataTable ... />
    <p:column ... headerText="Column A Data">
        <h:outputText ... />
    </p:column>
    <p:column ... headerText="Acknowledge Docs">
        <p:commandButton value="Acknowledge" ...
            <p:confirm ajax="true" header="Confrimation" message="Do Acknowledge you have received the docs?"/>
        </p:commandButton>
    </p:column>
    <p:column ... headerText="Accept or Deny">
        <p:commandButton value="Accept or Deny" ...
            <p:confirm ajax="true" header="Confrimation" message="Do you Accept or Deny the proposal?"/>
        </p:commandButton>
    </p:column>
</p:dataTable>
</h:form>
<p:confirmDialog id="yesno" global="true">
    <h:form>
        <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
        <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
    </h:form>
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)

好消息是这个工作得很好.

不幸的是,对于Accept或Deny问题的对话框中的选项,用户不希望是否.他们希望在对话框中接受或拒绝.

我找不到任何关于如何使用两个不同的confirmDialog选项或从一个或另一个中选择的方法的好例子.

理想情况下,第二个confrimDialog看起来像这样: …

jsf primefaces jsf-2

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

更新h:form之外的组件 - ComponentNotFoundException

我试图从像这样的窗体内的按钮更新我的xhtml中的元素"entryDiv":

<div id="entryDiv">    
    <div>                              
        <h:form id="myForm">
            <c:forEach items="#{foodPlanManagementBean.loadRestaurantsHistory()}" var="restaurantHistoryEntry">
                    <p:commandButton value="MyName" update="entryDiv"/>
            </c:forEach>
        </h:form>
    </div>

    Some more unrelated elements here...
</div>
Run Code Online (Sandbox Code Playgroud)

但是,这样我剩下的就是ComponentFoundException,告诉我组件无法找到:

Cannot find component for expression "entryDiv" referenced from "form:myForm:j_idt25".
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些关于SO的内容,我找到了一个解决方案,建议:在"entryDiv"前面放一个,但这并不能给我任何不同的结果.

我怎么能解决这个问题?

xhtml jsf primefaces

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

使用JSF(Primefaces)将数据从Excel复制并粘贴到Datatable

我想使用JSF(Primefaces)将数据从Excel复制并粘贴到Datatable.请建议我实现复制和粘贴的可能性.

datatable jsf primefaces

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

PrimeFaces如何更改咆哮的关闭图标颜色

我在PrimeFaces上工作,并且试图编辑组件的CSS属性。在咆哮时,我试图更改关闭图标的颜色,但我做不到。我尝试了很多,但仍然不知道。

在此处输入图片说明

您可以在右上角看到它的背景色为黄色(我将其设置为黄色,但无法更改图标颜色)。它总是那么蓝。这是我关于咆哮的代码;

.ui-growl{
    position:fixed;
    top:20%;
    left:38%;
    width: 23%;
}

.ui-growl .ui-state-highlight{
    background: #d2524f;
    border: #d2524f;

}

.ui-growl-message{      
    float: left;
    font-size: 15px;
    margin: 2% 0 0 22%;
}

.ui-growl .ui-growl-icon-close{
    background-color:yellow;
}
Run Code Online (Sandbox Code Playgroud)

css jsf primefaces

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

在ap:inputText中按下Enter时如何调用方法

我有一个JSF ajax keydown事件链接到备用bean中的事件侦听器。

JSF文件中的代码如下。

<p:inputText value="#{someBean.value}>
<p:ajax event="keydown" listener="#{someBean.keyDownEvent}" />
</p:inputText>
Run Code Online (Sandbox Code Playgroud)

我想获取“输入”按钮事件代码。当我单击Enter时,我需要在服务器端执行一些特定的事件。如何使用ajax调用获取事件代码?

jsf primefaces

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

标签 统计

primefaces ×10

jsf ×7

jsf-2 ×5

css ×1

datatable ×1

dialog ×1

java ×1

menubar ×1

xhtml ×1