首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSP request.getParameter

JSP request.getParameter
EN

Stack Overflow用户
提问于 2017-02-08 16:34:52
回答 3查看 5.7K关注 0票数 2

我在JSP中有以下页面:

代码语言:javascript
复制
    <%String a= request.getParameter("Test"); 
    System.out.println(a);%>

    <form > 
    <input type="text" name="Test" value= "Whatever" >
    </form>

如果我开始,它会向我显示在消费“空”为什么?很抱歉回答这个非常基本的问题!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-08 16:44:07

我认为您应该按照以下代码操作:

代码语言:javascript
复制
 <%@ 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>Insert title here</title>
</head>
<body>
   <%String a= request.getParameter("Test"); 
    System.out.println(a);%>
    <form action="#"> 
    <input type="text" name="Test" value= "Whatever" >
    <input type="submit" value="submit">
    </form>
</body>
</html>

当您单击submit时,控制台将打印任何内容。但是,当您第一次访问该页面时,控制台将被打印为null。

票数 1
EN

Stack Overflow用户

发布于 2017-02-08 16:39:20

您需要将此代码分发到两个不同的JSP中:

第一个JSP:

代码语言:javascript
复制
<form > 
  <input type="text" name="Test" value= "Whatever" >
</form>

然后您需要从浏览器中提交此表单。在servlet doPost处理程序中,需要分派第二个JSP,它将包含以下代码:

代码语言:javascript
复制
 <%String a= request.getParameter("Test"); 
    System.out.println(a);%>

更新

作为其他审阅者之一,您可以在表单提交之前和之后使用相同的JSP。在这种情况下,第一个仍然将打印null,而第二个将打印所需的输出。关键是必须提交表单,以便将表单参数自动填充到请求上下文中。

票数 2
EN

Stack Overflow用户

发布于 2017-02-08 17:01:06

如果我开始,它会向我显示在消费“空”为什么?

其他人都回答说,如何做正确的事情。让我告诉你,它为什么要做它正在做的事情。由于请求中没有任何内容,而且所有内容都是简单的GET请求,所以request.getParameter("Test");不解析任何内容并返回null作为响应。

您可能可以尝试以以下方式调用此页面:

http://whatever.com:PORT_IF_ANY/CONTEXT?Test=Whatever

然后,您将看到页面打印Whatever而不是null。因此,长话短说,因为您的请求没有名为Test的参数,所以它的计算结果是null,然后打印null

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42118685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档