Java接收参数

本文介绍了Java中通过HttpServletRequest对象接收参数的几种方式,包括表单提交、标签指令传递和地址重写。重点讨论了地址重写作为常见参数传递方式,并通过示例展示了当有多个同名参数时,如何使用getParameter()只能获取第一个参数,而使用getParameterValues()才能获取所有参数值。还提到了获取所有参数名称的方法getParameterNames(),适用于参数数量不确定的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术:Tomcat,Sublime Text,java
在request对象里面一直使用的接收参数的方法是:public String getParameter(String Str),这个方法的主要功能是接收一个请求参数,但是对于参数来源需要注意,参数来源有三,分别是:

  1. 表单提交;
  2. 标签指令传递(如:jsp:include);
  3. 地址重写;
    最为常见的形式是地址重写传递参数,其基本结构为:xxx.jsp?参数名称=内容
    如:
<a href="input.jsp?name=asd&id=1">地址重写</a>

此时相当于向input.jsp页面传递了连个参数,参数名分别为name与ID;
Jsp页面代码 如下:

<%@ page pageEncoding="UTF-8"%>
<%
    request.setCharacterEncoding("UTF-8");
%> 
<h1>输入内容:<%=request.getParameter("name")%></h1>
<h1>输入内容:<%=request.getParameter("id")%></h1>

打开htm页面,结果如下:
在这里插入图片描述
其实所谓的地址重写就相当于Get请求;对于request.getParameter()而言,它只能接受一个请求参数;如果传递的是多个同名参数,那么getParameter()方法只能够接受第一个参数内容。
如果需要接受多个参数内容,则需要更换方法
如:htm页面代码为:

<meta charset="utf-8"> 
	<FORM action="input.jsp" method="get">
		请选择:
		<input type="checkbox" name="id" id="id" value="语文">语文
		<input type="checkbox" name="id" id="id" value="数学">数学
		<input type="checkbox" name="id" id="id" value="英语">英语
		<input type="checkbox" name="id" id="id" value="生物">生物
		<input type="checkbox" name="id" id="id" value="地理">地理
		<input type="checkbox" name="id" id="id" value="化学">化学
		<input type="checkbox" name="id" id="id" value="历史">历史
		<input type="checkbox" name="id" id="id" value="政治">政治
		<br>
		<input type="submit" value="提交">
	</FORM>

这是一个多选框,如果用getParameter()方法的话无论如何它都只能获取第一个参数,即使进行选择了也无济于事;这时候选择getParameterValues()方法,并对所选的选项进行for循环,代码如下:

<%@ page pageEncoding="UTF-8"%>
<%
    request.setCharacterEncoding("UTF-8");
    String result[] =request.getParameterValues("id");
%> 
<h1>输入内容: 
<% for (int x=0;x<result.length ; x++) {
%>
       <%=result[x]%>、
<%
       }
%>
</h1>

结果如下:
在这里插入图片描述
getParameterValues()可以接收一组内容;在进行参数接受的过程中,除了可以使用之前这两种方法外,还有另外一种方法求参数的名称,该方法为:public Enumeration getParameterNames();
如果有些时候参数多或者不确定多少参数的时候,可以试试该方法实现参数名称接受。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值