题目
form name="form1" action="chuli.jsp">userName:< input type="text" name="userName">< input type="submit" name="submit">< /form>运行上述input.jsp,在页面上输入userName的值,在chuli.jsp文件中使用下面()代码,可以输出该userName的值?A.<%Stringname=request.getParameter("username");out.println(name);%>B.<%=request.getAttribute("userName")%>C.<%Stringname=request.getAttribute("username");out.println(name);%>D.<%=request.getParameter("userName")%
form name="form1" action="chuli.jsp">
userName:< input type="text" name="userName">
< input type="submit" name="submit">
< /form>
运行上述input.jsp,在页面上输入userName的值,在chuli.jsp文件中使用下面()代码,可以输出该userName的值?
A.
<%
String
name=request.getParameter("username");
out.println(name);
%>
B.
<%=request.getAttribute("userName")%>
C.
<%
String
name=request.getAttribute("username");
out.println(name);
%>
D.<%=request.getParameter("userName")
%
题目解答
答案
表单提交时,参数名为`"userName"`,应使用`request.getParameter("userName")`获取值。
- 选项A错误:参数名应为`"userName"`,而非`"username"`。
- 选项B错误:`request.getAttribute`不适用于表单参数。
- 选项C错误:方法及参数名均不匹配。
- 选项D正确:`request.getParameter("userName")`可正确获取并输出值。
答案:D. `<%= request.getParameter("userName") %>`
解析
本题主要考查在JSP中获取表单提交参数的方法。解题的关键在于理解request.getParameter()和request.getAttribute()方法的区别,以及表单参数名的正确使用。
各选项分析
- 选项A:
- 代码为
<% String name=request.getParameter("username"); out.println(name); %>。 - 在HTML表单中,输入框的
name属性值为"userName",而这里使用request.getParameter("username")去获取参数,参数名大小写不匹配,所以无法正确获取到输入的值,该选项错误。
- 代码为
- 选项B:
- 代码为
<%=request.getAttribute("userName")%>。 request.getAttribute()方法主要用于获取在请求处理过程中通过request.setAttribute()方法设置的属性值,而不是用于获取表单提交的参数。表单提交的参数应该使用request.getParameter()方法来获取,所以该选项错误。
- 代码为
- 选项C:
- 代码为
<% String name=request.getAttribute("username"); out.println(name); %>。 - 一方面,
request.getAttribute()方法不适合用于获取表单参数;另一方面,参数名"username"与表单中输入框的name属性值"userName"大小写不匹配,所以该选项错误。
- 代码为
- 选项D:
- 代码为
<%=request.getParameter("userName") %>。 request.getParameter()方法用于获取表单提交的参数值,这里参数名"userName"与表单中输入框的name属性值一致,能够正确获取到用户在表单中输入的userName的值并输出,所以该选项正确。
- 代码为