我有兩個jsp說test1.jsp和test2.jsp。我的程序流程如下。我想知道在這裏是否需要ajax?我需要檢索test1.jsp文本框中的數據。但是ajax調用是從不同的頁面創建的。我想要我的test1.jsp中的控制器響應。我該怎麼做?是否有必要在下面的代碼中使用ajax?
test1.jsp
<input type="text" id="testid"/>
<input type="button" onclick="fnopenwindow()"/>
<script type="text/javascript" src="abc.js"></script>
test2.jsp
<script>
function fnsample(){
//some code
var l1=/*some value*/
var l2=/*some value*/
fnPassData(l1,l2);
}
</script>
<div id="map"> </div>
<body onload="fnsample()" >
</body>
<script type="text/javascript" src="abc.js"></script>
abc.js
function fnopenwindow(){
window.open("test2.jsp","name","width=600px;height=400px");
}
function fnPassData(l1,l2){
var url="home/test";
var data= 'var1=' + l1 + '&var2=' + l2;
$.ajax({
type:"POST",
url:url,
data:data,
dataType:"json",
success:function(responseJSON){
alert(responseJSON);
}
});
}
控制器類
@Path("test")
public ModelandView gettest(@Context HttpServletRequest request) {
ModelandView responseView = new ModelandView(new JsonView());
//some code here
if (somecondition) {
responseView.addObject("data", dataID);
}
else {
System.out.println("Not present");
}
return responseView;
}
編輯::
我從我的腳本發送一些數據到控制器通過Ajax和又回到了同一個JSP即響應。 test2.jsp。但我想把控制器的響應發送給不同的jsp即。 test1.jsp。因爲我不刷新test2.jsp的任何部分是否有任何其他方式將數據從test2.jsp發送到控制器,然後從我的test1.jsp調用ajax並從同一控制器獲取數據?
你用彈簧嗎? –
是的,先生我正在使用彈簧 – Vidya