<%-- 
    Document   : WorkJsp
    Created on : 2009-3-23, 19:59:52
    Author     : zhanglongfei
--%><%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="px" uri="fly" %>
<%@page import="src.Save"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"><html> 
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
            <style type="text/css" media="screen">
            .inputdiv
            {
              position:absolute; float:right; right:0px; top:0px;
              width:25%; height:90%; background:blue;
              overflow-x:scroll;overflow-y:scroll;
              border:1px solid #333;
            }            .imagediv
            {
              position:absolute;float:left; left:0px; top:0px;
              width:75%; height: 90%; background:blue;
              overflow-x:scroll;overflow-y:scroll;
              border:1px solid #333;
            }
            </style>
            <script type="text/javascript" language="JavaScript">
                function CheckFieldValue(event, event1)
                {
                    var keyCode =  event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
                    var IsPass;
                    if (keyCode == 13)
                    {                        
                        IsPass = true;
                    }
                    else
                    {
                        IsPass = false;
                    }
                    if(IsPass == true) 
                    {
                        event1.focus();
                    }
                }
                function Save()
                {
                    var fname = this.form.fname.value;
                    var sname = this.form.sname.value;
                    var ssn = this.form.ssn.value;
                    var birthday = this.form.birthday.value;
                    var sex = this.form.sex.value;
                    var address = this.form.address.value;
                    var educate = this.form.educate.value; 
                    <%
                    Save s = new Save();
                    s.SaveData(fname, sname, ssn, birthday, sex, address, educate)
                    %>
                }
            </script>
    </head>
    <body>
        <form>
        <div id="ImageDiv" class="imagediv">
            <img id="picname" src="D:\Result\"/>
        </div>
        <div id="InputDiv" class="inputdiv">
            <label>客户姓名:</label><br/> 
            <input type="text" id="fname" name="FNAME" onkeydown="CheckFieldValue(this,this.form.sname)"/><br/>
            <label>姓名拼音:</label><br/>
            <input type="text" id="sname"/><br/>
            <label>身份证件号:</label><br/>
            <input type="text" id="ssn"/><br/>
            <label>出身日期:</label><br/> 
            <input type="text" id="birthday"/><br/>
            <label>性别:</label><br/>
            <input type="text" id="sex"/><br/>
            <label>家庭地址:</label><br/>
            <input type="text" id="address"/><br/>
            <label>文化程度:</label><br/>
            <input type="text" id="educate"/><br/>
            <input type="button" id="btnSave" value="保存" onclick="Save()"/>
        </div>
        </form>
    </body>
</html>
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */package src;import DBpackage.DBConnector;
import java.sql.*;
/**
 *
 * @author zhanglongfei
 */
public class Save {    private Connection con;
    private Statement sql;
    private ResultSet res;
    
    public void SaveData(String fname, String sname, String ssn, String birthday, String sex, String address, String educate)
    {
        try
        {
            con = new DBConnector().getConnectionString();            
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        String ssql = "Insert Into TB_Data Values('"+ fname +"', '"+ sname +"', '"+ ssn +"', '"+ birthday +"', '"+ sex +"', '"+ address +"','"+ educate +"')";
        try
        {
            sql = con.createStatement();
            res = sql.executeQuery(ssql);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}
我就是想要点保存按钮的时候调用Save类中的SaveData()方法保存数据, 但是 在<% s.SaveData()%>中不能调用javascript中的变量, 应该怎么处理呢?

解决方案 »

  1.   

    Struts 可以做
    Struts 通过action传递dwr 也可以做
    dwr通过Ajax方式的service类来做
      

  2.   

    其实很简单啊,如果不想写后台的action或者servlet,那么就你在一个新的jsp页面中写<%
    String fname = request.getParameter("fname");
    String sname= request.getParameter("sname");
    .
    .
    .
                        Save s = new Save();
                        s.SaveData(fname, sname, ssn, birthday, sex, address, educate)
                        %>
    然后在你那个页面中的form的action属性写上那个新的页面就行。
      

  3.   

    写个servlet调用save方法或者在jsp页面上写这个方法
      

  4.   

    <%
       Save s = new Save();
       s.SaveData(fname, sname, ssn, birthday, sex, address, educate)
    %>
    这是根本不对的,建议你还是把数据参数传到后台来处理当然楼上说的那些方法你也可以考虑
      

  5.   

    jsp代码在页面加载前被编译调用,到了页面里已经是普通的html了,js里调用不了╮( ̄▽ ̄)╭