有四个输入标签,其中语文数学英语三个成绩的输入标签,参数为grade。此时如果使用getparameter()方法,只能获取第一个参数的值,后面的值就丢失了。因此,若URL中有多个参数相同 ,则应当适用getparametervalues()方法解析。
例子如下,优良的JSP文件——Login和Index。Login用来填写数据,Index为获取到的用户名和总成绩。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>信息输入</title>
</head>
<body>
<form action="Index.jsp">
学生姓名:<input type="text" name="name"/><br><br>
语文成绩:<input type="text" name="grade"/><br><br>
数学成绩:<input type="text" name="grade"/><br><br>
英语成绩:<input type="text" name="grade"/><br><br>
<input type="submit" value="确定"/>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>欢迎登陆</title>
</head>
<body>
<%
String name=request.getParameter("name");
String strgrade[]=request.getParameterValues("grade");
int total=0;
for(int i=0;i<strgrade.length;i++){
total+=Integer.parseInt(strgrade[i]);
}
out.print(name+":"+total);
%>
</body>
</html>