rainbow236的博客通过本文主要向大家介绍了js提交数据到后台,js提交表单到后台,js调用后台方法,js获取后台数据,js调用后台函数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1.1通过设置form action的路径请求后台方法
在Structs框架下的一个上传文件的例子,前台html页面部分代码:
<form action="Test!UploadFile.action" enctype="multipart/form-data" method="post">
用户名:<input type="text" name="username" >
文件名:<input type="file" name="myFile">
<input type="submit" value="提交" class="file" />
</form>
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
后台对应的Java函数
// myFileFileName属性用来封装上传文件的文件名
public String myFileFileName;
// myFileContentType属性用来封装上传文件的类型
public String myFileContentType;
// myFile属性用来封装上传的文件
public File myFile;
public void UploadFile() throws IOException{
//基于myFile创建一个文件输入流
InputStream is = new FileInputStream(myFile);
// 设置上传文件目录
String uploadPath = ServletActionContext.getServletContext().getRealPath("/Upload");
File tmpFile = new File(uploadPath);
if (!tmpFile.exists()) {
//创建临时目录
tmpFile.mkdir();
}
File toFile = new File(uploadPath, myFileFileName);
// 创建一个输出流
OutputStream os = new FileOutputStream(toFile);
//设置缓存
byte[] buffer = new byte[1024];
int length = 0;
//读取myFile文件输出到toFile文件中
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
//关闭输入流
is.close();
//关闭输出流
os.close();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
1.2通过改变带有路径属性的元素得路径
前台html页面部分代码:
<img id="imgCode" src="toCode" onclick="ChangeCode()" style="padding-top:8px"/>
<script type="text/javascript">
function ChangeCode()
{
var img = document.getElementById("imgCode");
img.src = 'Test!getCode.action?time='+new Date().getTime();
}
</script>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
后台对应的java方法
//生成验证码
private static Font VALIDATECODE_FONT = new Font("Times New Roman ",Font.PLAIN, 21);
public void getCode() {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
// 在内存中创建图象
BufferedImage image = new BufferedImage(80, 30,BufferedImage.TYPE_INT_RGB)