如何使用 jquery 文件上传插件在 struts2 中激活操作
how activate action in struts2 using jquery file upload plugin
我正在做一个项目,一次只需要上传一个文件。我正在使用 struts2 和 jquery 文件上传插件。我看到很多例子,但我不知道如何在 jquery 文件上传功能中激活 struts2 操作。
这是我的jsp
<form id="uploadForm" action="/myapp/trading_upload.action" method="POST" enctype="multipart/form-data">
<div class="row">
<div class="col-sm-9">
<div class="panel">
<div class="panel-heading">
<span class="panel-title">Upload</span>
</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-6">
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span>Select file</span>
<input id="fileupload" type="file" name="files">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
这是我的js,基本上就是jQuery文件上传示例代码
$(function() {
$('#fileupload').fileupload({
dataType: 'json',
url: '/myapp/trading_upload.action',
add: function (e, data) {
data.context = $('<button/>').text('Upload')
.appendTo(document.body)
.click(function () {
data.context = $('<p/>').text('Uploading...').replaceAll($(this));
data.submit();
});
},
done: function (e, data) {
consolo.log('complete');
alert("complete");
data.context.text('Upload finished.');
}
});
});
这是我的 struts.xml
<action name="trading_upload" class="tradingAction" method="upload">
<interceptor-ref name="fileUpload">
<param name="maximumSize">2097152</param>
</interceptor-ref>
</action>
这是我的 tradingAction,它只是一个打印件,因为我想看到它已被激活
public String upload() throws Exception {
System.out.println("upload");
return SUCCESS;
}
我应该使用 url: '/myapp/trading_upload.action' 来激活动作吗?但是在我 select 文件之后什么也没有发生。没有动作被激活。提前致谢!
最后我意识到我需要先实现 struts2 上传,然后我可以将它与文件上传插件结合起来激活动作。它有效
我正在做一个项目,一次只需要上传一个文件。我正在使用 struts2 和 jquery 文件上传插件。我看到很多例子,但我不知道如何在 jquery 文件上传功能中激活 struts2 操作。
这是我的jsp
<form id="uploadForm" action="/myapp/trading_upload.action" method="POST" enctype="multipart/form-data">
<div class="row">
<div class="col-sm-9">
<div class="panel">
<div class="panel-heading">
<span class="panel-title">Upload</span>
</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-6">
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span>Select file</span>
<input id="fileupload" type="file" name="files">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
这是我的js,基本上就是jQuery文件上传示例代码
$(function() {
$('#fileupload').fileupload({
dataType: 'json',
url: '/myapp/trading_upload.action',
add: function (e, data) {
data.context = $('<button/>').text('Upload')
.appendTo(document.body)
.click(function () {
data.context = $('<p/>').text('Uploading...').replaceAll($(this));
data.submit();
});
},
done: function (e, data) {
consolo.log('complete');
alert("complete");
data.context.text('Upload finished.');
}
});
});
这是我的 struts.xml
<action name="trading_upload" class="tradingAction" method="upload">
<interceptor-ref name="fileUpload">
<param name="maximumSize">2097152</param>
</interceptor-ref>
</action>
这是我的 tradingAction,它只是一个打印件,因为我想看到它已被激活
public String upload() throws Exception {
System.out.println("upload");
return SUCCESS;
}
我应该使用 url: '/myapp/trading_upload.action' 来激活动作吗?但是在我 select 文件之后什么也没有发生。没有动作被激活。提前致谢!
最后我意识到我需要先实现 struts2 上传,然后我可以将它与文件上传插件结合起来激活动作。它有效