在这个试验中,在同一个页面实现了成绩的输入和累加运算。
其中,input的value值发生了改变。分不清value和name的区别, 特意百度了一下:
**value 属性为 input 元素设定值。**
对于不同的输入类型,value 属性的用法也不同:
type="button", "reset", "submit" - 定义按钮上的显示的文本
type="text", "password", "hidden" - 定义输入字段的初始值
type="checkbox", "radio", "image" - 定义与输入相关联的值
注释:<input type="checkbox"> 和 <input type="radio"> 中必须设置 value 属性。
注释:value 属性无法与 <input type="file"> 一同使用。
**name 属性规定 input 元素的名称。**
name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据。
注释:只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。
form表单没有填充action属性,其响应的仍然是当前页面。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String result = "";
String name = request.getParameter("name");
String chinese = request.getParameter("chinese");
String math = request.getParameter("math");
String english = request.getParameter("english");
if (name != null) {
result += Integer.parseInt(chinese) + Integer.parseInt(math) + Integer.parseInt(english);
} else {
name = "";
chinese = "";
math = "";
english = "";
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>欢迎登陆</title>
</head>
<body>
<form>
学生姓名:<input type="text" name="name" value="<%=name%>"/><br><br>
语文成绩:<input type="text" name="chinese" value="<%=chinese%>"/><br><br>
数学成绩:<input type="text" name="math" value="<%=math%>"/><br><br>
英语成绩:<input type="text" name="english" value="<%=english%>"/><br><br>
<input type="submit" value="确定"/>
</form>
总成绩:<input type="text" value="<%=result%>" disabled="true"/>
</body>
</html>
如果不写value值,响应之后就没有刚才输入的成绩了。