直接在页面的onload事件调用action不行?

解决方案 »

  1.   

    能举个例子吗?例如我的action是:test.action
      

  2.   

    <body onload="Method();">
    <script>
      function Method(){
           //执行action
      }
    </script>你可以试试这个思路。
      

  3.   

    谢谢,明天试试,请问是不是一般都用这种思路去自动执行一个action?
      

  4.   

    是这样子的,我想实现:访问一个页面,就自动执行一个action,因为我要在那个页面上动态显示数据库数据!
      

  5.   

    这种可以用着执行js方法,当然能执行js执行action应该不会有大问题。
      

  6.   

    直接搞断java代码取出来也可以啊<%%>
      

  7.   

    进入jsp的时候就跳转便行了,然后用服务器跳转带数据跳回来便可..<% request.getRequestdispater("xxx.action") %>
    然后再xxx.action执行完了 就跳回该jsp就可以相应的在request或session域中带值了
      

  8.   

    一般页面不写<%%>这些java代码吧,请问有没有别的方法?
      

  9.   

    +++++;最好的方法就是调用页面的onload事件执行要走的方法
      

  10.   

    在你的index页面直接forward到要访问的Action即可...forward路径就是你的action访问路径...
      

  11.   

    写一个Filter,加在该Action的前面就可以了,也可以写的一拦截器,都可以
      

  12.   

    搞一个servlet映射的名字叫做index.jsp应该也可以的吧
      

  13.   

    web.xml设置欢迎页面为
    test.jsp(默认的为index.jsp)test.jsp页面head部分添加如下代码<%
    response.sendredirect("test.action");
    %>
      

  14.   

    我在页面这样写:
    <script type="text/javascript"> function showInfo(){
    window.location = "index_showAllInfo.action";
    }</script>
    成了死循环!????
      

  15.   


    三个办法:① index.jsp 使用frame (index.jsp 可以分解成三个jsp: head.jsp main.jsp foot.jsp)② 直接ajax获取action 中的内容③index.jsp 中 写一个 <iframe src="action需要的jsp"></iframe>你根据实际情况 看看使用什么方法合适
      

  16.   

    ② 直接ajax获取action 中的内容    可以给我一个小例子吗?我还是不会!
      

  17.   

    <c:redirect url="user!showChance.action"/>
      

  18.   

    html页面           <div class="news_colum">
                 <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!";
    }
    }
    }};
      

  19.   

    还没结贴啊。我第二次点到这了。
    思路。在页面进入的时候就判断request或session中有没有带你的参数。有就继续没有就跳转,具体通过jsp脚本,标签其他什么的都可以了。跳转到action中。在action中带上参数,跳回index.jsp!就不会出现死循环啊。什么其他方面的问题了。。用filter也可以实现。不过比较不直观。。代码就不给出了。
      

  20.   

    这个值得讨论这么久么,非要访问index.jsp么?登录成功后访问index.do,取完数据跳转到index.jsp不就得了啊,还整一堆js……