DWR é um framework Java que simula chamadas de métodos Java em Javascript.
Legal, não? :)
Aqui, vou mostrar um exemplo de upload de uma imagem...
Primeiro, a gente cria a classe que vai fazer o upload:
package com.blogspot.blogdotakemura.test;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class UploadFile {
public String uploadImage(BufferedImage image) {
try {
File file = new File("teste.png");
ImageIO.write(image, "png", file);
return file.toURI().toString();
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
}
Depois, crio o arquivo dwr.xml em WEB-INF e adiciono as seguintes linhas:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<!-- file upload -->
<create creator="new">
<param name="class" value="com.blogspot.blogdotakemura.test.UploadFile"/>
</create>
</allow>
</dwr>
Agora, é só criar a página JSP:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type='text/javascript' src='/DWRTest/dwr/engine.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/util.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/interface/UploadFile.js'></script>
<title>Upload test</title>
<script>
function uploadFile() {
var imageData = dwr.util.getValue("imageUpload");
UploadFile.uploadImage(imageData, function(data) {
alert(data);
});
}
</script>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="imageUpload" id="imageUpload"/>
<input type="button" value="Send" onclick="uploadFile();"/>
</form>
</body>
</html>
Se tudo der certo, agora você pode fazer upload de imagens com javascript!!!!
Uau! :P
Obs.: Para que isso funcione, é preciso configurar o dwr corretamente na aplicação web.
Nenhum comentário:
Postar um comentário