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代碼時出錯:查看具體的異常堆棧裡面提示的響應信息,然後修改。