My jsf command button is not calling the method it was supposed to call. Here is the code:
<h:form>
<h:outputText value="Data de nascimento"
style="font-size: 15px; float:left;margin-left:20%;" />
<br />
<h:inputText value="#{registroPageMBean.usuario.nascimento}"
styleClass="default_input"
style="float:left;margin-left:20%;width:60%"></h:inputText>
<h:outputText value="Foto de Perfil"
style="font-size: 15px; float:left;margin-left:20%;" />
<br />
<p:fileUpload value="#{registroPageMBean.file}" mode="simple"
skinSimple="true" label="Enviar arquivo" />
<br />
<br />
<br />
<h:commandButton rendered="true" styleClass="default_button" value="Finalizar"
action="#{registroPageMBean.registrar}" />
</h:form>
I tryied everything but it did not worked. Can anyone help me with this?
Here is the Bean method:
@RequestScoped
@ManagedBean(name = "registroPageMBean")
public class RegistroPageMBean {
private Usuario usuario;
private UploadedFile file;
public RegistroPageMBean() {
usuario = new Usuario();
System.out.println("INICIANDO");
}
public static BufferedImage toBufferedImage(Image img) {
if (img instanceof BufferedImage) {
return (BufferedImage) img;
}
// Create a buffered image with transparency
BufferedImage bimage = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
// Draw the image on to the buffered image
Graphics2D bGr = bimage.createGraphics();
bGr.drawImage(img, 0, 0, null);
bGr.dispose();
// Return the buffered image
return bimage;
}
public static void saveToFile(BufferedImage img) throws FileNotFoundException, IOException {
File outputfile = new File("imagem.png");
ImageIO.write(img, "png", outputfile);
}
public void registrar() {
System.out.println("SALVANDO");
try {
Image image = ImageIO.read(file.getInputstream());
saveToFile(toBufferedImage(image));
usuario.setPerfil(image);
} catch (IOException e) {
e.printStackTrace();
}
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
I did something like this code in another XHTML page and it worked. So I put that command button in the other page and it gave me a NullPointerException that I have never seen before
Thank you!