Foren

close popup after click on primefaces commandbutton

emad darvishi, geändert vor 9 Jahren.

close popup after click on primefaces commandbutton

Junior Member Beiträge: 37 Beitrittsdatum: 11.09.12 Neueste Beiträge
hi my friends .

im gonna develop a portlet with primefaces + spring technologies. im created a popup page for add soldier to databace . im gonna close popup after clicked on add new soldier . please help me .
thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
I recommend that you look at our primefaces3-users-portlet demo. It has a p:dataTable that displays users. When editing a user, it does something similar to a popup by using the rendered attribute to control the visibility of the row details. If you need to do it with a popup, refer to the p:confirmDialog example in our primefaces3-portlet demo. If you are planning on using PrimeFaces 5, then refer to the primefaces5-portlet since dialogs are handled a little differently in that newer version.
emad darvishi, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Junior Member Beiträge: 37 Beitrittsdatum: 11.09.12 Neueste Beiträge
thank you for your answer.
im using alloy pop up for my portlet . im used below code for call popup :


<h:outputscript>
        function callPortletPopUp(w, h, mode,soldier) {

AUI().use('aui-base',
                            'aui-io-plugin-deprecated',
                            'liferay-util-window',
                            'liferay-portlet-url',
                            'aui-dialog-iframe-deprecated',
     function(A) {
     
     var url = Liferay.PortletURL.createRenderURL();                               
                               url.setPortletId("Student_WAR_Studentportlet");                                                 
                               url.setParameter("MODE", mode);
                               url.setParameter("Soldier", soldier);
                               url.setParameter("_facesViewIdRender","/views/popup.xhtml");
                               
     
     url.setWindowState('pop_up');
     
          Liferay.Util.openWindow(
              {
                   dialog: {
                       centered: true,
                       destroyOnClose: true,
                       cache: false,
                       width: w,
                       height: h,
                       modal: true,
                   },
                  title: 'Sample Popup',
                  id:'<portlet:namespace />addeditdialog',             
                  uri:url.toString()
                  
              });    
              
            

   });  

        }       

  </h:outputscript>
thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton (Antwort)

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
In order to minimize the mixing of markup and JavaScript, I recommend that you try our new alloy:dialog JSF component. We also have new alloy:dataTable and alloy:paginator components that you could try. If you are interested then you can try version 3.2.5-ga5-SNAPSHOT of the Liferay Faces jars from the Snapshot Repository.
emad darvishi, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Junior Member Beiträge: 37 Beitrittsdatum: 11.09.12 Neueste Beiträge
What jar files should be added?
i added :

liferay-faces-alloy-3.2.5-ga6-20150411.011655-139.jar
liferay-faces-bridge-api-3.2.5-ga6-20150411.011659-138.jar
liferay-faces-bridge-impl-3.2.5-ga6-20150411.011704-137.jar
liferay-faces-util-3.2.5-ga6-20150411.011630-147.jar

but cant deploy and show below errors :


SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.application.ApplicationFactory' was not configured properly.
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:276)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4937)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1113)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1671)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.application.ApplicationFactory' was not configured properly.
	at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:305)
	at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:219)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:361)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:216)
	... 13 more
Caused by: javax.faces.FacesException: com.liferay.faces.bridge.application.ApplicationFactoryImpl
	at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:645)
	at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:508)
	at javax.faces.FactoryFinder.access$400(FactoryFinder.java:138)
	at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:995)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:342)
	at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:303)
	... 16 more
Caused by: java.lang.InstantiationException: com.liferay.faces.bridge.application.ApplicationFactoryImpl
	at java.lang.Class.newInstance(Unknown Source)
	at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:643)
	... 21 more

thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
You added the correct jars that are needed. If you paste a directory listing of tomcat/webapps/yourportlet/WEB-INF/lib then I can help you further. Perhaps it is the case that you did not remove the older jars and now you have duplicates?
emad darvishi, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Junior Member Beiträge: 37 Beitrittsdatum: 11.09.12 Neueste Beiträge
i completely deleted deployed soldier portlet and redeploy my portlet but no avail.

my jar files in lib folder :

thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
Thank you for posting the screenshot. The following files in WEB-INF/lib should be removed:

WEB-INF/lib/jsf2-spring-portlet-3.2.4-ga5.war
WEB-INF/lib/junit-4.11.jar
WEB-INF/lib/standard-1.1.2.jar

and probably these should be removed too:

WEB-INF/lib/spring-webmvc-3.2.5-RELEASE.jar
WEB-INF/lib/spring-webmvc-portlet-3.2.5-RELEASE.jar

because JSF and Spring MVC are mutually exclusive technologies.

You should also consider removing Hibernate and using Liferay ServiceBuilder to access your data store. Fore more information, see the thread titled JSF and Hibernate -- Use service-builder or implement own persistence.
emad darvishi, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Junior Member Beiträge: 37 Beitrittsdatum: 11.09.12 Neueste Beiträge
i deleted libraries where you said except hibernate libraries.deleted deployed portlet and redeploy it.but the errors did not disappear .

Apr 13, 2015 6:46:12 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.application.ApplicationFactory' was not configured properly.
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:276)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4937)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1113)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1671)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.faces.config.ConfigurationException: Factory 'javax.faces.application.ApplicationFactory' was not configured properly.
	at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:305)
	at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:219)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:361)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:216)
	... 13 more
Caused by: javax.faces.FacesException: com.liferay.faces.bridge.application.ApplicationFactoryImpl
	at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:645)
	at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:508)
	at javax.faces.FactoryFinder.access$400(FactoryFinder.java:138)
	at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:995)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:342)
	at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:303)
	... 16 more
Caused by: java.lang.InstantiationException: com.liferay.faces.bridge.application.ApplicationFactoryImpl
	at java.lang.Class.newInstance(Unknown Source)
	at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:643)
	... 21 more


thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton (Antwort)

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
When I look at this part of the stacktrace:
Caused by: java.lang.InstantiationException: com.liferay.faces.bridge.application.ApplicationFactoryImpl
    at java.lang.Class.newInstance(Unknown Source)
    at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:643)
    ... 21 more


It indicates that there are probably two liferay-faces-bridge-impl.jar artifacts in the classpath: an old one, and a new one.

The old one (as revealed in the stacktrace) contains a faces-config.xml descriptor that references the old FQCN for com.liferay.faces.bridge.application.ApplicationFactoryImpl.

The new one (as shown in your screenshot) contains a faces-config.xml descriptor that references the new FQCN for com.liferay.faces.bridge.application.internal.ApplicationFactoryImpl.

I recommend that you check your global classpath to see if you have old 3.2.4-ga5 jars, for example in tomcat-7.0.42/lib
emad darvishi, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Junior Member Beiträge: 37 Beitrittsdatum: 11.09.12 Neueste Beiträge
very very thank you neil . emoticon emoticon
thumbnail
Neil Griffin, geändert vor 9 Jahren.

RE: close popup after click on primefaces commandbutton

Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
I'm glad it is working for you now. Thanks for using Liferay Faces. emoticon