老师留的作业, 要求不允许用jsp, 要servlet和html之间互相传值.
问题是, 用servlet接收form的action好办, 怎么从servlet给html传值啊.
是不是要在servlet里面把一大堆html的东西都导入到out.println里?
我这html好些东西呢, 导到一个out里不死人了?请高手指点啊.

解决方案 »

  1.   

    人家说的是html好不   你们谁有本事在html页面里用request.getAttribute()接个 数据来看看我有个提议  就是io操作  直接修改html页面   绝对没问题
      

  2.   

    谢谢回复动机就是, 在一个servelt里面接收并分析用户名和密码, 如果正确(当然判断用户名和密码要在servlet里面实现)通过后在另一个html里面显示相应的用户名.
      

  3.   

    chao19841()  说的不错,可以通过IO的,我也是这样想的,你可以把要输入的信息先在servlet中输出到外部文件(.txt,xml 等)
    然后在,html中将其读出出来即可
      

  4.   

    楼主的思想 用ajax来做  是肯定可行的  ~!
      

  5.   

    或者干脆就读取html,在html中设置一个特殊字符串,然后正则表达式替换
      

  6.   

    拿out.println直接输出不就行了么?
      

  7.   

    在html里是不能加<%%>的,所以也就不能用out.println
      所以不知道
      

  8.   

    记得在我学到的知识里面html是可以接受其他任何语言通过url传送过来的参数的,你先查查html这方面的资料,我保证能行。
      

  9.   

    配置ActionServlet时,url-pattern配置为*.html
      

  10.   

    可以考虑使用Ajax,像用DWR给静态页面级联下拉框传值,网上就有例子。
      

  11.   

    1.如果servlet验证成功,out出“true”字符串
    2.在你要求的页面上用js实现接收:
    var xmlHttp;//用于存放XMLHttpRequest对象
    function createXMLHttpRequest(){//创建一个XMLHttpRequest对象
      if(window.ActiveXObject){xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
      else if(window.XMLHttpRequest){xmlHttp = new XMLHttpRequest()}
    }
    function receive(){//页面被调用时候首先调用此函数,准备接受数据
        createXMLHttpRequest();//创建一个XMLHttpRequest对象
        xmlHttp.onreadystatechange = processor;//将状态触发器绑定到函数processor上
        xmlHttp.open("GET","returnValue?你的参数");//通过GET方法向指定的URL建立服务器的调用,returnValue是servlet名称,?之后可以传参
        xmlHttp.send();//发送请求}
    function processor(){//事件处理
      var result;
      if(xmlHttp.readyState == 4){
        if(xmlHttp.status == 200){
          result = xmlHttp.responseText;
          for(var i=0;i<result.length;i++){
            if(result.indexOf("true")!= -1){
              //登录成功
            }
            else{
              //登录失败
            }
          }
        }
      }
    }