让我这样说:我是关于JSP的绝对初学者。我仍在尝试了解基础知识,同时也能及时完成工作,而无需寻求指导老师的帮助(这是因为当我和其他一些同学就有关工作和诸如缺少信息之类的事情伸出援手时,他们再也不会回信或链接)。
我受命在JSP中编写一个程序,该程序会产生随机加法问题。用户可以输入他们认为是书面的答案,提交后,程序将告诉他们他们是对还是错。到目前为止,我已经编写了一个程序,该程序在运行时实际上并未在浏览器中显示任何内容。它只是不断地说“等待本地主机”。这是我到目前为止所做的:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import = "java.util.*"%>
<>
<!DOCTYPE html>
<html>
<head>
<title>Addition Quiz</title>
</head>
<body>
<%
int a, b, answer;
Random rand = new Random();
a = rand.nextInt(1000);
b = rand.nextInt(1000);
%>
<form>
<%= a %> + <%= b %> =
<input type="number" value="answer" name="answer"><br><br>
<input type="submit" value="Submit">
</form>
<%
request.getParameter("answer");
answer = a + b;
if (answer==a+b) {
out.print("Correct");
} else if (answer!=(a+b)) {
out.print("Incorrect");
}
%>
</body>
</html>
我在这里做错什么了,您认为我应该怎么做?我正在使用NetBeans和GlassFish。
编辑:根据Swati的建议添加到程序中。现在输出的时候,页面会自动说正确,每当我提交一个数字来回答方程式时,页面就会刷新成一个新的方程式。
您提交时正在重新加载页面,因此正在生成新的随机数。请找到以下代码。index.html
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<>
<!DOCTYPE html>
<html>
<head>
<title>Addition Quiz</title>
</head>
<body>
<%
int a, b, answer;
Random rand = new Random();
a = rand.nextInt(1000);
b = rand.nextInt(1000);
%>
<form action="result.jsp">
<%= a %>
+
<%= b %>
<%
request.setAttribute("a", a);
request.setAttribute("b", b);
%>
= <input type="number" value="answer" name="answer"><br>
<input type="hidden" name="a" value="<%=a%>">
<input type="hidden" name="b" value="<%=b%>">
<br><input type="submit" value="Submit">
</form>
</body>
</html>
result.html
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>answer is::<%=Integer.parseInt(request.getParameter("answer")) %></h1>
<h1>a+b is::<%=Integer.parseInt(request.getParameter("a"))+Integer.parseInt(request.getParameter("b")) %></h1>
<h1>RESULT IS <%= (Integer.parseInt(request.getParameter("answer")) == (Integer.parseInt(request.getParameter("a"))+Integer.parseInt(request.getParameter("b"))) )?"Correct":"InCorrect"%></h1>
</body>
</html>