如下面代码所示,功能是当点击【Button】按钮的时候,页面调用JAVA类一个方法来获取一个数据,在弹出来。
现在的问题是,点击按钮的时候,没有任何反应!按钮等好久才凸起来
 
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<%@ page import="java.lang.*,java.io.IOException,org.apache.commons.httpclient.*,org.apache.commons.httpclient.methods.GetMethod,org.apache.commons.httpclient.params.HttpMethodParams" %>  
<%@ page import="Test.*" %>  
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>11</title>
</HEAD>
<body>
<form name="f1">&nbsp;   
    <input id="Text1" type="text" />a
    <input id="Button1" type="button" value="button" onfocus="check(Text1.value)"/>
</form>
<script language="javascript" > 
    function check(p) 
    {
        <%aa a1=new aa();
        //String[] s= a1.GetData("sh601006");
        //out.println(s[0]);
        %> 
        var u=<%a1.toString();%>;
        alert(u);
    }
</script>  
</body>
</html>

解决方案 »

  1.   

    jsp可以调用javaBean的类属性,但是复杂的方法估计访问不了,可以先取出属性值再计算;
    其实没有必要这么做,你可以利用框架解决这些问题。
      

  2.   

    哪有你这样写的,点击一个按钮之后然后进入后台之后返回给JSP页面,一般都这样的,有框架更方便点吧。。
    在JS里面写java脚步,我晕,貌似还有错误
      

  3.   

    <input id="Button1" type="button" value="button" onfocus="check(Text1.value)"/>
    改成onclick
      

  4.   

    <%a1.toString();%>;
    改成'<%=a1.toString()%>';
      

  5.   

    框架就不用了 这么简单的问题不需要麻烦框架
    再说框架也不是人写出来的,只要知道怎么事先的就行了
    onfocus事件也可以的!按钮获取到焦点的事件我用 System.out.println(a1.GetData("sh601006"));试了 有数据返回 = =
    用DebugBar看JS代码的时候 没有显示JAVA的脚本
    <SCRIPT language=javascript s> 
        function check(p) 
        {
               
        document.write("1111111111111111111111111111111111");    }
    </SCRIPT>这是源码:
    <script language="javascript"s > 
        function check(p) 
        {
            <%aa a1=new aa();
           System.out.println(a1.GetData("sh601006"));
            %>   
        document.write("1111111111111111111111111111111111");    }
    </script> 
      

  6.   

    <script language="javascript"s 
    悟空你也太不小心了改成
    <script type="text/javascript"></script>
      

  7.   

    你运行这个,看下页面源代码就知道了<%@ page contentType="text/html; charset=UTF-8"%>
    <%@page import="java.sql.*"%>
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
    <input type="button" name="test" value="test" onclick="test()" />
    <script type="text/javascript">
    function test() {
    <%
    Timestamp time = new Timestamp(System.currentTimeMillis());
    %>
    alert('<%= time.toLocaleString()%>');
    }
    </script>
    </body>
    </html>jsp跟js这脚本语言是有差别的,jsp脚本内的内容是页面显示之前已经编译好,你看下tomcat的work里对应项目里生产的java文件就什么都知道了。
      

  8.   

    var u=<%a1.toString();%>;
      alert(u);
    改为下面的试试var u = '<%=a1.toString();%>';
    alert(u);没反应应该是因为脚本错误
      

  9.   

    js里嵌套java代码好像还没用过
             
      

  10.   


    试过了 没啥反应
     <%aa a1=new aa();
           System.out.println(a1.GetData("sh601006"));
            %>   
          var u = '<%=a1.GetData("sh601006")%>';
          alert(u); 
      

  11.   

    如果换别的方式 应该怎么实现??Servlet?
      

  12.   

    直截了当,上 DWR  速度解决问题
      

  13.   

    不是吧 你直接用JQUERY和DWR吧
      

  14.   

    这样吧 怎么方式能实现我这个功能!?
    功能: 根据输入的值,来获取java类的方法返回的值,显示在界面里,方法是a1.GetData("sh601006"));
      

  15.   

    需要 ajax ,传值过程为: javascript -->java--> javascript 
      

  16.   

    不用ajax ,还可以用 iframe 结合form 的target属性 实现无刷新 传值