A. 给js函数传递字符串的问题
这个其实你自己试一下就知道了.假设js函数是a(b,c),b和c这两个变量都是字符回串.假设
var b='aaa',而c是从JSP返回答<%=return_c%>的是asfd.在你调用a时. 就是a('aaa',asfd)这样就会报asfd未定义.有两种写法,一种就和你说的一样
a(b,'<%=return_c%>'),
还有一种就是
var c='<%=return_c%>'
a(b,c),
B. jsp 如何实现文件上传和下载功能
上传:
MyjspForm mf = (MyjspForm) form;// TODO Auto-generated method stub
FormFile fname=mf.getFname();
byte [] fn = fname.getFileData();
OutputStream out = new FileOutputStream("D:\"+fname.getFileName());
Date date = new Date();
String title = fname.getFileName();
String url = "d:\"+fname.getFileName();
Upload ul = new Upload();
ul.setDate(date);
ul.setTitle(title);
ul.setUrl(url);
UploadDAO uld = new UploadDAO();
uld.save(ul);
out.write(fn);
out.close();
下载:
DownloadForm downloadForm = (DownloadForm)form;
String fname = request.getParameter("furl");
FileInputStream fi = new FileInputStream(fname);
byte[] bt = new byte[fi.available()];
fi.read(bt);
//设置文件是下载斗喊还是打开以及打开的方式msdownload表示下载粗弯;设置字湖集,//主要是解决文件中的中文信息
response.setContentType("application/msdownload;charset=gbk");
//文件下载后的默认保存名及打开方式
String contentDisposition = "attachment; filename=" + "java.txt";
response.setHeader("Content-Disposition",contentDisposition);
//设岩销闷置下载长度
response.setContentLength(bt.length);
ServletOutputStream sos = response.getOutputStream();
sos.write(bt);
return null;
C. jsp页面回车换行的问题。
jsp页面回车换行的处理:
在JSP里,JSTL(fn:replace)无法处理,回车(\n)字符,因为tomcat编译引擎会将"\n"字符,转义成"\\n"字符处理。即回车代替失败。
举例如下:
${fn:replace(blindItem.blindShowModeStr,"\n","<BR />") }
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${fn:replace(blindItem.blindShowModeStr,\"\\n\",\"<BR />\") }", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, _jspx_fnmap_1, false));
正确的处理的方式是:
example 2:
<%request.setAttribute("vEnter", "\n");%>
${fn:replace(blindItem.blindShowModeStr,vEnter,"<BR />") }
D. 在jsp页面中,处理后台数据在复选框中回显问题
你好,你的问题类别存在问题,建议分组到j2ee类别,这样就会有更多的人帮你回家。
你的问题是想在jsp中显示后台发送来的数据吧 。
可以使用jstl 迭代标签实现,
或者使用java脚本实现。
E. jsp页面用的${}获取后台的值 怎么截取如果当字符串大于10个字符时后面用。。。代替 否则正常显示
${fn:substring(str,"0","30")} str 为你要截取的字符串,0为开始位置,30为结束位置,如果不到30的长度就全部显示。
F. 为什么在jsp中写$失效了
jsp中的$失效是因为引入jquery错误导致。
$是其中最常见的符号,已经在jQuery留下了深深的烙印。
它可以接受一个字符,也可以接受一个文档对象,亦或者一个函数,也可以调用一个函数。
例如这段代码里$是全局变量:
var jQuery = (function() {
//创建jQuery对象,给所有的jQuery方法提供统一的入口,避免繁琐难记
var jQuery = function( selector, context ) {
//jQuery的构造对象,调用了jQuery.fn.init方法
//最后返回jQuery.fn.init的对象
return new jQuery.fn.init( selector, context, rootjQuery );
},
//定义jQuery的原型,jQuery.fn指向jQuery.prototype对象
jQuery.fn = jQuery.prototype = {
//重新指定构造函数属性,因为默认指向jQuery.fn.init
constructor: jQuery,
init: function( selector, context, rootjQuery ) {.....},
}
//返回jQuery变量,同时定义将全局变量window.jQuery和window.$指向jQuery
return (window.jQuery = window.$ = jQuery);
})();
G. org.apache.jasper.JasperException:jsp页面异常应该怎么处理
处理办法:
1、使用框架标签出错:要在页首加入<%@ taglib prefix="s" uri="xxx"%>来定义标签。
2、解析jsp页面生成servlet代码时出错:查看具体的异常堆栈里面提示的响应信息,然后修改。