jsp取不出数据也不报错的时候,你可能干了什么

扎心了,我顺手就写了一个request.getAttributeNames(),还想了半天怎么会没有数据也不报错呢,一开始我还想难道是我的表单数据太多不能用get,就换成了post,依旧无果,原来是把request.getParameterNames()写错了。

贴上表单发送及一次性接收的有效代码

demo.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>多参数发送</title>
</head>
<body>
<form action="demo.jsp" method="post">
姓名:<input type="text" name="name">
性别:<input type="radio" name="sex" value="女" checked>女
    <input type="radio" name="sex" value="男">男<br>
城市:<select name="city">
<option value="南昌">南昌</option>
<option value="杭州">杭州</option>
<option value="深圳">深圳</option>
<option value="北京">北京</option>
</select>
兴趣:<input type="checkbox" name="**inst" value="唱歌">唱歌
<input type="checkbox" name="**inst" value="跳舞">跳舞
<input type="checkbox" name="**inst" value="游泳">游泳
<input type="checkbox" name="**inst" value="旅游">旅游<br>
自我介绍:<textarea rows="3" cols="30" name="introducearea">自我介绍</textarea>
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>
</body>
</html>

demo.jsp

<%@page import="java.util.Enumeration"%>
<%@ 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=ISO-8859-1">
<title>接收多参数</title>
</head>
<body>
<%request.setCharacterEncoding("utf-8"); %>
<center>
<table border="1">
<tr>
<td>参数名称</td>
<td>参数内容</td>
</tr>
<%
Enumeration<String> enum_=request.getParameterNames();
while(enum_.hasMoreElements()){
	String paramName=(String) enum_.nextElement();//取出内容
%>
<tr>
<td><%=paramName %></td>
<td>
<%
if(paramName.startsWith("**")){
	String paramValue[]=request.getParameterValues(paramName);
	for(int x=0;x<paramValue.length;x++){
%>
		<%=paramValue[x] %>、
<% 
	}
}else{
	String paramValue=request.getParameter(paramName);
	%>
	<%=paramValue %>
	<% 
}
%>
</td>
</tr>
<%}%>
</table>
</center>
</body>
</html>

那么getAttribute和getParameter有什么区别

简单来说,getAttribute是在web容器内流转的,使用前必须有一个setAttribute,可以使用它传递对象;而getParameter是在web客户端和web服务端之间流转的,通过get/post方式即可,可以使用它得到页面传来的参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值