如:
<%!
  public void p()
{
System.out.println("ssss");
}
%><input type="button"  value="send" >我想加onclick=<%p();%>但是不行它会在页面加载时调用  点击 button 不好使

解决方案 »

  1.   

    在 <head>标签中写JavaScript代码入
    <script language="javascript">        function test()
               {
                   System.out.println("ssss");           }
    </script>
    <input type="button" value="send" onclick="return test()">
      

  2.   

    当然不好使了,你用客户端的代码调用服务器端的方法使用普通的jsp是做不到的,像楼上那样使用javascript吧
      

  3.   

    好像不能,要么就像一楼写javacript函数.
      

  4.   

     function test()
      {
      System.out.println("ssss");  }
    js输出这是啥,,第一次见..
      

  5.   

    就是举个例子没什么实际用处   在tomcat中打出 sss
      

  6.   

    我在详细点 希望大家帮帮忙
    现在做一个管理员的页面 管理图书 可修改 删除我现在就学过 通过按钮提交数据 然后通过getparam()之类的 得到提交的值
    但是 要删除 修改某个记录 感觉就不适用    
    现在一般都怎么解决这个问题那     用js的话 写的数据库都能看到 那不是太傻了吗 pass!
      先谢谢帮忙!部分代码  在每行的前面有两个按钮
     <table border="2" width="100%">
        <thead>
        <tr>
        <td>修改</td>
        <%
        for(int i=1;i<=length;i++)
        {
        %>
       <td><%=rsmd.getColumnName(i)%></td>
        <%
        }
        %>
        </tr>
        </thead>
        <%
        int i=1;
         while(rs.next())
         {
         %>
           <tr>
           <td>
            <tr>
          <td>
          <form action="AlterBook.jsp" method="post" >
        <input type="submit" value="修改" >
        <input type="hidden" name="text" value=i >
        </form>
        <input type="Button" value="删除" >
        </td>
            <%
            for(int j=1;j<=length;j++)
            {
            %>
              <td><%=rs.getString(j)%></td>
            <%
            }
            %>
             </tr>
             </td>
           </tr>
         <%
         }
        %>
        <tr>
        </table> 
      

  7.   

    没有见过javascript中去用system.out.println().想让它弹出信息窗口的话应该可以用“alert()”吧
      

  8.   

    楼主要先了解jsp的原理
    jsp-->java-->class-->html ,所以在你看到页面的时候,已经不存在java函数了.但是你可以用js函数onclick="javascript:test()"
      

  9.   

    楼主想要完成的功能可以用ajax做到. 
    基本原理为javasacript 通过xmlrequest调用服务端的URL,服务端接收到URL后完成后台响应. 
    楼主google下ajax的例子. 网上大把的. 一看就能明白!
      

  10.   

    大家总说js  我是初学但是也感觉js应用到客户端的显示上   用它操作数据库是不是不合适
    还有什么ajax 只是听说过 还没学到  是不是小题大作了 感觉因该是挺简单的一个功能
    但是怎么也想不出 郁闷~~~
      

  11.   

    <script>
       function p(){
       <%
          System.out.println("ssss");
       %>
    }
    </script>
    <input type="button" value="send" >加onclick=p();>
    试试
      

  12.   

    你就是想把jsp当java文件用嘛。你就直接在头部写删除的方法。然后你点击提交的时候提交给本身页面。(带上ID,状态)。然后就可以从
    <%
    String status = null == request.getParameter('status') ? "" : request.getParameter('status').toString(); //1 为删除 2 为修改
    String id = null == request.getParameter('id') ? "" : request.getParameter('id').toString();if(!id.equals("") && status.equals("1") ){   //删除操作}else if(!id.equals("") && status.equals("2")){   //修改}
    %>
      

  13.   

    像2楼楼主说的那样用JS函数进行编码后,再使用ONCLICK函数调用JS里的函数便可,你那样的写法是JSP中方法申明的写法!!!
      

  14.   

    直接用jquery封装的ajax不久OK了
    $.post("你要提交的action",{
            要传递的参数
         },function(data){
            执行完后的回调函数。});
      

  15.   

    建议楼主用javascript,功能真的很强大!
      

  16.   

    如果你真的想在JSP中调用JAVA方法(执行其它操作),可以通过Ajax去调用,不过这是一个异步的
      

  17.   

    1、首先你的Button的onclick事件是针对JavaScript的,所以你想通过它来触发你的JAVA方法是行不通的。
    2、如果你不想使用JavaScript那么Button的type得是submit、reset等之类的才行。
    3、jsp不像是JAVA Swing 中的那样可以给按钮加个监听的,你想让按钮替你执行方法可以使用JavaScript,强大的JavaScript可以帮你干很多事情。
    你上面,可以这样执行,<input type="button" value="send" onclick="toList();return false;">这样,你点击了这个按钮就会触发下面的JavaScript方法,这样就可以提交到后台function toList(){
      with(document.forms[0]){ //指定form
    method.value = "list"; //指定隐藏域的数值,用来区分后台调用的方法
    submit();//提交
      }
    }当然,你也可以直接指定URL之类的var url = "**.jsp";//这个URL你可以随便定义,如"**.do?XX="+XX;都可以
    var forms =  document.getElementById("form的ID");
    forms.action = url;
    //forms.target = "..";
    forms.method="post";
    forms.submit();
      

  18.   

    你可以在一个单独JSP页面中写一个方法例如,1.jsp
    <%
      out.print("11"); 
    %>
    使用JS调用1.jsp ,使用xmlhttp.responseText 就可以获取到 "11"。
    这样应该可以做到你说的效果。
      

  19.   

    单独用JS实现或者单独用JSP实现都是不可能的。两者结合起来用才是王道。 
      

  20.   

    莫非你的系统全部都是jsp实现的?看到你的form提交的是一个jsp(不知道是不是当前的jsp),  你只要在提交的时候传一个参数来说明:你是要做修改还是删除, 然后在 这个form前面写<% 代码(根据参数来实现对应的操作) %>。
      

  21.   

    想调用JSP中的某个方法  可以把方法当作参数传入啊例如:http://xxx.xxx.cn/test.jsp?method=p然后在text.jsp的中判断url传入的参数method的值 如果是p则执行p()
    if(url.getParameter("method").equals("p")){p();}
    ....<input type="button" value="send" onclick="window.location='http://xxx.xxx.cn/test.jsp?method=p'"/>
    希望对你有帮助
      

  22.   

    js不能操作数据库,他是客户端执行的脚本
    如果楼主不想用框架,简单的可以预先制定一些html的template,通过一个简单的servlet查询填充html中数据预留项