tag p:commandButton não faz o que tá no managedBean
Olá pessoal. Tô começando agora no jsf primefaces e estou com problema. O meu commandButton não tá executando o metodo que tá no managedBean e não tá disparando nada no console quando se clica nele(mesmo quando eu coloco lá pra ele disparar)....
Meu managedBean
Meu xhtml
meu web.xml
Meu faces-config
dependencias que eu tô usando
e o bean.xml foi aquele criado pelo eclipse padrão...
Meu managedBean
import java.io.Serializable; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.context.FacesContext; @ManagedBean public class GrowlView implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public void saveMessage() { FacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, new FacesMessage("Successful", "Your message: " + message)); context.addMessage(null, new FacesMessage("Second Message", "Additional Message Detail")); } }
Meu xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui"> <h:head> <title>Hello Word</title> </h:head> <body> <h:form> <p:growl id="growl" showDetail="true" sticky="true" /> <p:panel header="Growl"> <h:panelGrid columns="2" cellpadding="5"> <p:outputLabel for="msg" value="Message:" /> <p:inputText id="msg" value="#{growlView.message}" required="true" /> </h:panelGrid> <p:commandButton value="Save" actionListener="#{growlView.saveMessage()}" update="growl" /> </p:panel> </h:form> </body> </html>
meu web.xml
<context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/faces/index.xhtml</welcome-file> </welcome-file-list>
Meu faces-config
<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> <application /> <managed-bean> <managed-bean-name>GrowlView</managed-bean-name> <managed-bean-class>com.whit.view.GrowlView</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config>
dependencias que eu tô usando
<dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>3.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.faces</groupId> <artifactId>javax.faces-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.faces</groupId> <artifactId>jsf-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.primefaces</groupId> <artifactId>primefaces</artifactId> <version>6.0</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> <scope>test</scope> </dependency>
e o bean.xml foi aquele criado pelo eclipse padrão...
Wagner
Curtidas 0
Respostas
Wagner
03/02/2017
Gente. Resolvi o problema, era a barra da tag url-pattern que, aparentimente dava algum tipo de concadenação com a barra do meu arquivo jboss-web.xml ai fazia nada funcionar... só descobrir isso rodando no tomcat que teu um erro mais claro
GOSTEI 0