直接在页面的onload事件调用action不行?
解决方案 »
- java 高手快来
- 我觉得Java越来越难, 我要怎样才能学好
- getSession和openSession的区别
- hibernate逆向工程的实体类倒不进来(急死我了,在线等)!!!
- 请问学习了Java EE 5的基础教程后怎样拓展、深入研究?
- 被 STRUTS2一个小小的问题难倒了!
- WebLogic 左边树的显示问题
- 求解答:Tomcat下面D:\tomcat\webapps\my中的.html文件。。
- 在用J2EE做网上书店,点击“正式购买”后好让电脑自动向用户发出一封确认邮件,代码是怎么写的阿!!!!!!!
- Jbuilder
- struts2的值传递问题
- 求一个性能最好的ftp下载解决方案-有代码更好。
<script>
function Method(){
//执行action
}
</script>你可以试试这个思路。
然后再xxx.action执行完了 就跳回该jsp就可以相应的在request或session域中带值了
test.jsp(默认的为index.jsp)test.jsp页面head部分添加如下代码<%
response.sendredirect("test.action");
%>
<script type="text/javascript"> function showInfo(){
window.location = "index_showAllInfo.action";
}</script>
成了死循环!????
三个办法:① index.jsp 使用frame (index.jsp 可以分解成三个jsp: head.jsp main.jsp foot.jsp)② 直接ajax获取action 中的内容③index.jsp 中 写一个 <iframe src="action需要的jsp"></iframe>你根据实际情况 看看使用什么方法合适
<div class="tit1">Company News</div>
<ul id="gsxw"></ul>
<script type="text/javascript">
XMLHttp.getData('gsxw');
</script>
<div class="more"><a href="htm/news.html?1">更多>></a></div>
</div>
js文件var XMLHttp = {_objPool:[], _getInstance:function () {
for (var i = 0; i < this._objPool.length; i++) {
if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4) {
return this._objPool[i];
}
}
this._objPool[this._objPool.length] = this._createObj();
return this._objPool[this._objPool.length - 1];
}, _createObj:function () {
if (window.XMLHttpRequest) {
var objXMLHttp = new XMLHttpRequest();
} else {
var MSXML = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var n = 0; n < MSXML.length; n++) {
try {
var objXMLHttp = new ActiveXObject(MSXML[n]);
break;
}
catch (e) {
}
}
}
if (objXMLHttp.readyState == null) {
objXMLHttp.readyState = 0;
objXMLHttp.addEventListener("load", function () {
objXMLHttp.readyState = 4;
if (typeof objXMLHttp.onreadystatechange == "function") {
objXMLHttp.onreadystatechange();
}
}, false);
}
return objXMLHttp;
}, getData:function (key) {
var divObject = document.getElementById(key);
var objXMLHttp = this._getInstance();
with (objXMLHttp) {
try {
open("POST", "/jsp/load_data.jsp?key=" + key + "&random=" + Math.random(), true);
setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
send(null);
onreadystatechange = function () {
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)) {
divObject.innerHTML = objXMLHttp.responseText;
}
};
}
catch (e) {
divObject.innerHTML = "Sorry,server is busy now,please access later!";
}
}
}};
思路。在页面进入的时候就判断request或session中有没有带你的参数。有就继续没有就跳转,具体通过jsp脚本,标签其他什么的都可以了。跳转到action中。在action中带上参数,跳回index.jsp!就不会出现死循环啊。什么其他方面的问题了。。用filter也可以实现。不过比较不直观。。代码就不给出了。