最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Struts2文件上传,加进度条这个功能我是实现了,但是为何我取不到Struts2的返回值,兄弟们帮我看下_html/css_WEB-ITnose

来源:动视网 责编:小采 时间:2020-11-27 15:55:15
文档

Struts2文件上传,加进度条这个功能我是实现了,但是为何我取不到Struts2的返回值,兄弟们帮我看下_html/css_WEB-ITnose

Struts2文件上传,加进度条这个功能我是实现了,但是为何我取不到Struts2的返回值,兄弟们帮我看下_html/css_WEB-ITnose:这个是还未上传时的界面: 这个是上传完成时的界面: 就是不知道为什么取不到界面 这个是jsp的代码 String path = request.getContextPath(); String basePath = request.getScheme()+://+request.get
推荐度:
导读Struts2文件上传,加进度条这个功能我是实现了,但是为何我取不到Struts2的返回值,兄弟们帮我看下_html/css_WEB-ITnose:这个是还未上传时的界面: 这个是上传完成时的界面: 就是不知道为什么取不到界面 这个是jsp的代码 String path = request.getContextPath(); String basePath = request.getScheme()+://+request.get
 这个是还未上传时的界面:

这个是上传完成时的界面:

就是不知道为什么取不到界面

这个是jsp的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>






var id=0;
var i = 0;
function addressAction(){
$.post(
'./upload/progress.action',
function(data){
if(data.currentItem==0){
$("#message").text('0%');
}else if(data.state.rate<=100){
SetProgress(data.state.rate);
}else{
$("#message").html("100% 上传完成!").fadeIn("slow");//加载完毕提示
window.clearInterval(id);
}
$("#img").html("");
var num=data.state.rate/10;

for(var i=1;i<=num;i++){
$("#img").append("");
}
for(var j=1;j<=10-num;j++){
$("#img").append("");
}
},
'json'
);
}
var progress_id = "loading";
function SetProgress(progress) {
if (progress) {
$("#" + progress_id + " > div").css("width", String(progress) + "%"); //控制#loading div宽度
$("#" + progress_id + " > div").html(String(progress) + "%"); //显示百分比
}
}

function submitForm(){
if($("#f1").val()==""){
alert('上传文件为空!!!');
return ;
}
id=window.setInterval(addressAction,10);
$("form:first").submit();/*提交第一个表单*/
}











上传进度条的action
public class FileProgressAction extends ActionSupport {
private State state;

public State getState() {
return state;
}

public void setState(State state) {
this.state = state;
}
@Override
public String execute() throws Exception {
HttpSession session = ServletActionContext.getRequest().getSession();
this.state = (State) session.getAttribute("state");
if(state==null){
System.out.println("action is null");
state = new State();
state.setCurrentItem(0);
}else{
Double a=Double.parseDouble(state.getReadedBytes()+"");
Double b=Double.parseDouble(state.getTotalBytes()+"");
double result=a/b*100;
state.setRate((int)result);
}
return SUCCESS;
}
}
上传完成的action 返回值就在这里
public class FileProgressUploadAction extends ActionSupport{
private File file;
private String fileFileName;
private String fileContentType;
private String flag="===============";

public String getFlag() {
return flag;
}

public void setFlag(String flag) {
this.flag = flag;
}

public File getFile() {
return file;
}

public void setFile(File file) {
this.file = file;
}


public String getFileFileName() {
return fileFileName;
}

public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}

public String getFileContentType() {
return fileContentType;
}

public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}

@Override
public String execute(){

try {
System.out.println("file:"+file);
InputStream is=new FileInputStream(file);
String root=ServletActionContext.getRequest().getRealPath("/upload");
System.out.println("root:"+root);

System.out.println("name:"+this.fileFileName);
System.out.println("type:"+this.fileContentType);
File destFile=new File(root,this.fileFileName);

OutputStream os=new FileOutputStream(destFile);

byte [] b=new byte[1024*1024*10];
int length=0;
while(true){
length=is.read(b);
if(length<0)
break;
os.write(b,0,length);
}
setFlag("SUCCESS");
is.close();
os.close();
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("=====================");
return SUCCESS;
}
}



帖子比较长希望好心人帮我看看吧,想了好久没找出什么原因


回复讨论(解决方案)

这个是struts.xml 配置文件












/index.jsp
/error.jsp



name="requestParser" class="com.zjg.listtener.MyMultiPartRequest"
scope="default" optional="true" />

文档

Struts2文件上传,加进度条这个功能我是实现了,但是为何我取不到Struts2的返回值,兄弟们帮我看下_html/css_WEB-ITnose

Struts2文件上传,加进度条这个功能我是实现了,但是为何我取不到Struts2的返回值,兄弟们帮我看下_html/css_WEB-ITnose:这个是还未上传时的界面: 这个是上传完成时的界面: 就是不知道为什么取不到界面 这个是jsp的代码 String path = request.getContextPath(); String basePath = request.getScheme()+://+request.get
推荐度:
标签: 上传 进度条 2
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top