我的相关代码如下:
javascript函数如下:
function choose(src)
{
   var imgURL;
   imgURL=src;
   /*.......
               中间的这里的代码我不会写,怎么样写代码把图片路径的数据传到下面的java代码中去
               .......
             */
   
             alert("分享成功");
   }  一张图片的相关代码:<img src="images/00.jpg" onclick="choose(this.src)" />
  在jsp页面中写了连接数据库的代码如下:
    
<%
            try {
                String spath = "data/test.mdb";
                String dbpath = application.getRealPath(spath);       
                String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + dbpath;
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                Connection conn = DriverManager.getConnection(url);
                Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                /*.........在这里改如何下写代码才能将javascript函数中的路径变量接收到,,
                并且传进我的数据库的"user"表中,假设保存到id=1的用户表中,,,该如何写,确切地说,如何获得那个变量
                ........
                */   
             
                rs3.close();
      stmt.close();
                conn.close();
            } catch (Exception e) {
                out.print("连接数据库错误!错误信息如下:<br>");
                out.print(e.getMessage());
            }
%>被这个问题弄得都快崩了,,,难为人

解决方案 »

  1.   

    问题是比较简单,但是实现复杂。 你可以在html页面先加个隐藏域<input type='hidden' name='value'/> 再在js里面给隐藏域的文本赋值, 然后jsp脚本<%=request.getAttribute(value)%>
      

  2.   

    但是我那个是图片啊,,图片也可以吗。。我用dreamever有代码提示,,我没有看到<img ,,,/>标签中有tpye这个属性啊,,,,该怎么办呢,,?
      

  3.   

    你这个js和java代码是在同一个jsp里面吗?
      

  4.   

    如果不是在同一个jsp里面那么很简单我相信你也会传,如果是在同一个jsp里面那么就要去做下判断例如:你当前jsp名称为upload.jspfunction choose(src){
       window.self.location = "upload.jsp?command=upload&src=" + src;
    }
    然后再下面的java代码中做下判断<%
         //在这里判断下如果是上传命令就去执行下面的上传图片或者其他的操作存入数据库
         if(command.equals("upload")) {
                //这里就是你想要得到的图片数据源
                String src = request.getParameter("src");
                try {
                    String spath = "data/test.mdb";
                    String dbpath = application.getRealPath(spath);       
                    String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + dbpath;
                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                    Connection conn = DriverManager.getConnection(url);
                    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
              
                    rs3.close();
                    stmt.close();
                    conn.close();
                                } catch (Exception e) {
                    out.print("连接数据库错误!错误信息如下:<br>");
                    out.print(e.getMessage());
                }
    }
    %>
    我不是很明确你的意思。。看这个是不是你想要的结果
      

  5.   

    我干脆就这么说吧,,
    现在我在js函数中有一个var   st;这样的变量;
    我想在jsp页面中的<% java程序片 %>中获取到这个st,请问该如何写,其实本质就是这个问题,,可能我说的有点乱,,大家听不明白,,简单的说,就是这次的说法,,谢谢。
    我一直在线,,等着您的回归。
      

  6.   

    卤煮
    可以通过ajax来实现你这个要求,无刷新.
    点击提交按钮后,请求以异步是方式提交到当前jsp,然后在jsp中获取src的值,完成保存.
    至于ajax怎么提交,百度一下就可以了.
      

  7.   

    后台用的servlet? 加我 452954065
      

  8.   

    楼主的意思是在同一个JSP页面中java代码调用JS的变量吧。
    你这样的想法是不行的。
    JSP的页面,服务端的JSP容器在编译阶段就会运行其中的JAVA代码,而JS是在客户端浏览器调用的,先存在的东西怎么能调用后存在的东西呢?唯一能变通的方法应该是把JAVA代码移到后台,页面上使用AJAX,在页面加载完那个JS变量后,将这个变量传递到后台去处理。也不建议你把JAVA代码写到页面去,这样做业务逻辑和显示层混杂到一起,尤其是你还调用了数据库,等于数据层也混进去了,非常不规范。
      

  9.   

    撸主意思是:  js参数 传到 本页面的 JAVA脚本里面去?
      

  10.   

    <img src="images/00.jpg" onclick="choose(this.src)" />
    <input id="imagesId" value="" type="hidden" />
    function choose(src)
        {
           document.getElementById("imagesId").value=src;
           //......
        }
    如果你的JSP代码跟JS代码不是一个页面就可以这样写、然后request取值!
    如果是同一个页面、最好把它们分开来、然后request取值!
      

  11.   

    楼主你的需求我已经知道了,那和我写的那个是一样的啊,都可以实现你的需求,一样可以得到src的值,只不过是又请求一次当前页面而已,你不管怎么传都要请求一次服务器的因为你的是浏览器的数据项传到服务器端就要请求一次 ajax也好一样的也要去请求服务器,你就用我说的那个可以完成
      

  12.   

    对,我就是这个意思。比如说js中有个变量从jsp代码中穿过来的一个st,我怎么样能够在<% java程序语句%>得到那个st。。
    谢谢,我一直在线等着大家的回复哈。
      

  13.   

    这个已经很明确了,你只需把你的本次请求重新 发送一次就好了,因为你想获取这个值,必须让服务器知道,不然java获取的是空值。
      

  14.   

    直接写到cookie里面,也能实现的~~~