本文目錄一覽:
java代碼直接寫在JSP頁面上有什麼弊端
不符合MVC思想,而且給程序的擴展維護,人員的分工合作帶來很大的困難,美工只懂HTML代碼,而大量的java代碼在頁面,顯而易見!程序的可讀性差,你自己想想,大量的代碼全部混合在頁面看代碼有多費力
jsp和Java後台數據如何交互
%
String path = request.getContextPath();
%
獲取jsp所在工程的名稱
var ids = new Array();
$.ajax({
type : “POST”,
contentType : ‘application/json’,
url : ‘%=path%/ui/product/havePsmPackage’,
data:JSON.stringify(ids),
async :false,
dataType : “json”,
success : function(data) {
},
error:function(){
}
});
1、前台如果傳的是一個集合,後台可以使用參數 @RequestBody ListString ids 來接收
2、如果前台是這種傳值方式 data:{“name”:name,”id”:id},
那後台可以通過創建一個欄位名稱對應的實體類來接收
或者使用String name = request.getParameter(“name”)的方式來接收
3、如果ajax選擇的GET方法,那後台方法的欄位名稱和url的入參名稱保持一致就能接收到數據了
4、window.location.href=”%=path%/ui/psmpackage/toPsmPackageList”;
這是跳轉到新頁面的方法
@RequestMapping(value = “/toPsmPackageList”)
public String toPsmPackageList(HttpServletRequest request) {
return “psmPackage/psmPackageList”;
}
這是後台的接受方式,返回的是對應jsp的文件夾和文件名
頁面跳轉的方法不需要@ResponseBody註解,而獲取返回值的方法則一定要加,不然獲取不到返回值
5、window.open(url); 可以在瀏覽器上新開一個頁面。對應的是window.close();
6、如何將數據帶到新增的頁面
第一:第一個頁面通過
window.location.href=”%=path%/ui/product/condition?lineCode=”+lineCode+”typeCode=”+typeCode;傳值
在新頁面可以通過var lineCode = ‘%=(String)request.getParameter(“lineCode”)%’這種方式來取值
第二:後台代碼這樣處理request.setAttribute(“product”, result);
input name=”id” type=”text” value=”${product.id}” /
${}來取值。
JSP和JAVA 的問題
JSP是帶有Java代碼的HTML文件。
帶()的表示一個方法被調用了,就是這個()之前那個名字的方法。方法,函數什麼的都無所謂的,習慣叫什麼就是什麼。不過Java社區還是習慣了叫方法。定義類不是用 new 的,new 是產生一個這個類的一個實例的一種方法,當然還有其他的方法。在使用new的時候就是調用了這個類的構造函數,方法的定義,給你一個一般的例子吧,public static void doTest(String param){}
public是訪問修飾符,規定了這個方法的開放程度,也就是別的類或者方法對他的訪問許可權,static指出這個方法是靜態的,void如同C/C++一樣,無返回類型,另外方法名doTest,參數是String類型的,抽象類里還有abstract方法,這種方法沒有做出實現,比如,public abstract String XXX();然後就沒有方法體了。。。
原創文章,作者:NKAVT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313799.html