努力将一个变量从一个jsp中的scriplet传递到“调用jsp”
jsp将二进制流发布到upload.jsp。upload.jsp处理该流并确定我想在assedit.jsp中提供的文件路径,但返回的值总是生成空指针。
我显然做了一些根本错误的事情,我甚至在帖子中尝试了异步来“停止”jsp,以防事情发生得太快。
我很感激你。
assetedit.jsp文件-
//post binary to upload.jsp
$.ajax({
url: '/wz/upload.jsp',
data: decodedstring,
type: 'POST',
contentType: false,
processData: false,
}).done(function(data) {
console.log(data);
});
upload.jsp(为了便于理解,删除了一些行)-
<%
try {
String root = getServletContext().getRealPath("/uploads/");
BufferedInputStream bis = new BufferedInputStream(request.getInputStream());
String nm = System.currentTimeMillis() + ".jpg";
String filepath = root + "/" + nm;
String realpath = (filepath.substring(filepath.lastIndexOf("/") - 7));
System.out.println("realpath is " + realpath);
pageContext.setAttribute("pathtogo", realpath);
}
fos.close();
bis.close();
);
} catch (Exception ex) {
ex.printStackTrace();
}
%>
assetedit.jsp文件-
<%
String str = request.getAttribute("pathtogo").toString();
System.out.println("pathtogo is " + str);
%>
也尝试过(在assetedit.jsp中)-
<%
String name=(pageContext.getAttribute("pathtogo").toString());
System.out.println("pathtogo is "+name);
%>
导致-uncaught typeerror:getelemrefs(…)为null
谢谢,我是否需要在upload.jsp中做另一个帖子来将路径发送回assetedit.jsp?
拉尔夫
1条答案
按热度按时间tzxcd3kk1#
您是否可以尝试使用会话作用域,以便在不同的jsp页面之间传递适当的变量。
https://docs.oracle.com/javaee/6/api/javax/servlet/jsp/pagecontext.html
----编辑----
好吧,让我们试试别的:
上载.jsp
assetedit.jsp文件-
或者
String.valueOf(session.getAttribute("pathtogo"));