【发布时间】:2017-02-18 23:06:20
【问题描述】:
我的 jsf 命令按钮没有调用它应该调用的方法。代码如下:
<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>
我尝试了一切,但没有奏效。谁能帮我解决这个问题?
这是 Bean 方法:
@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;
}
我在另一个 XHTML 页面中做了类似这段代码的事情,它确实有效。所以我把那个命令按钮放在另一个页面上,它给了我一个我以前从未见过的 NullPointerException
谢谢!
【问题讨论】:
标签: jsf file-upload primefaces