Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自html的java httpservlet getparameter返回null_Java_Html_Servlets - Fatal编程技术网

来自html的java httpservlet getparameter返回null

来自html的java httpservlet getparameter返回null,java,html,servlets,Java,Html,Servlets,我正在服务器上运行一个.jsp文件,并试图将用户输入表单数据发送到HttpServlet中的“doPost”方法 当我尝试在doPost中打印用户输入的VAL时,它们为空 我试图通过它们的html ID获取VAL,但由于某些原因,这不起作用。HTML中可能有一个简单的问题 submit按钮似乎正在正常运行,因为它正在返回到我试图解析用户输入数据的.java文件。只有VAL为空 这是我的密码 谢谢!:) 二进制编码器 二进制编码:对0到65535之间的任何数字进行编码 日期= 输入要编码的数字(

我正在服务器上运行一个.jsp文件,并试图将用户输入表单数据发送到HttpServlet中的“doPost”方法

当我尝试在doPost中打印用户输入的VAL时,它们为空

我试图通过它们的html ID获取VAL,但由于某些原因,这不起作用。HTML中可能有一个简单的问题

submit按钮似乎正在正常运行,因为它正在返回到我试图解析用户输入数据的.java文件。只有VAL为空

这是我的密码

谢谢!:)


二进制编码器
二进制编码:对0到65535之间的任何数字进行编码
日期= 输入要编码的数字(0到65536):

输入编码的第一个数字(0到255):


输入第二个编码数字(0到255):


受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{ doGet(请求、响应); //处理表单的代码。。。 字符串toencode=request.getParameter(“toencode”); 字符串mask1=request.getParameter(“mask1”); 字符串mask2=request.getParameter(“mask2”); //响应是返回到HTML页面的东西 PrintWriter out=response.getWriter(); 字符串输出=String.format(“要编码的数字是:%s”,toencode); String op1=String.format(“Mask1是:%s”,Mask1); String op2=String.format(“Mask2是:%s”,Mask2); out.println(输出); out.println(op1); out.println(op2); }
三种输入的类型应该是文本,而不是数字。试试看。

在三个表单输入字段中,使用
name
属性代替
id
,或者在
id
之外使用。只有这些输入字段的值作为参数包含在请求中。

问题在于这些标记,例如:
标记需要一个
名称
属性,如:
name=“mynumber”

servlet从JSP接收请求参数的名称-值对。JSP中缺少
名称
。编写JSP代码的正确方法是:

在servlet程序中,通过
doPost
方法访问发布的参数及其值,如下所示:

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
    String myNumber = request.getParameter("mynumber");
    getServletContext().log("# My Number: " + myNumber); // this prints in the log file
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("My Number: " + myNumber); // this prints on the browser page
}

这将显示您在浏览器页面的JSP中输入的号码,如:
My number:999
。您还可以参考服务器日志。

将名称属性添加到输入中,如下所示:

<input type="number" name="toencode" id="toencode">
<input type="number" name="mask1" id="mask1">
<input type="number" name="mask2" id="mask2">


request.getParameter
无法识别id属性。

您的表单似乎缺少所有字段的
name
属性

尝试更改此选项:

<input type="number" id="toencode">

显然,对于其他字段(mask1、mask2),
name
s值将匹配它们的
id
s

将所有类型更改为“text”,但仍然不起作用。你确定它需要是文本吗?我正试图在这个表单中输入数字。@MukulK。也许这不是问题,H5中添加了数字类型。为什么在这里称为doGet方法?您可以删除它或将下面的代码剪切为doGet方法。这解决了我的问题。非常感谢!!:)现在我也有了Java中的用户输入,请参见以下内容:和。
<input type="number" id="toencode">
<input type="number" id="toencode" name="toencode">