谢谢各位了,我是刚开始学jsp,还请高手们多多帮忙!javabean and servlet. 我还写不好!javascript也刚开始!
大概是这样,自己完善,记得给分^_^ jsp: <% //假设QLList是从数据库中得到的题目的记录集 for (int i=0;i<QLList.getRowCount();i++){ String QL_NAME=QLList.getString("QL_ANSWER",i); QLOption+="QLArray["+i+"] = new Array(\""+QL_NAME+"\");"; } %> <script LANGUAGE="javascript"> <!-- var MaxRow=0; QLArray = new Array(); <%=QLOption%> function isRigth(id){ if (QLArray[id][1]==userinput.value) return true; return false; } //--> </script> 当然最好放在提交到servlet中判断
<%=QLOption%>单独使用,是什么意思。
<%=%> 是jsp中java scriptlet的表达式 你还是先看看jsp的资料和书吧
我知道,你没明白我的意思。我是说<%=QLOption%>的作用?
生成Array <script LANGUAGE="javascript"> <!-- var MaxRow=0; QLArray = new Array(); QLArray[1] = new Array("A"); QLArray[2] = new Array("B"); QLArray[3] = new Array("C"); function isRigth(id){ if (QLArray[id][1]==userinput.value) return true; return false; } //--> </script>
为什么不提交到servlet里面去判断,而要在javascript判断
别这么做!
再用一个页面用来取得这个答案并和数据库中的正确答案比较,算分。
当然最好是用javabean或者是servlet 。
总之,无论如何是不建议用js的,在客户端判断一点安全性的没有了。
jsp:
<%
//假设QLList是从数据库中得到的题目的记录集
for (int i=0;i<QLList.getRowCount();i++){
String QL_NAME=QLList.getString("QL_ANSWER",i);
QLOption+="QLArray["+i+"] = new Array(\""+QL_NAME+"\");";
}
%>
<script LANGUAGE="javascript">
<!--
var MaxRow=0;
QLArray = new Array();
<%=QLOption%>
function isRigth(id){
if (QLArray[id][1]==userinput.value)
return true;
return false;
}
//-->
</script>
当然最好放在提交到servlet中判断
是jsp中java scriptlet的表达式
你还是先看看jsp的资料和书吧
<script LANGUAGE="javascript">
<!--
var MaxRow=0;
QLArray = new Array();
QLArray[1] = new Array("A");
QLArray[2] = new Array("B");
QLArray[3] = new Array("C");
function isRigth(id){
if (QLArray[id][1]==userinput.value)
return true;
return false;
}
//-->
</script>
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>