Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
是否可以从Java HTTPServletRequest检索表单名称?_Java_Http_Forms_Servlets - Fatal编程技术网

是否可以从Java HTTPServletRequest检索表单名称?

是否可以从Java HTTPServletRequest检索表单名称?,java,http,forms,servlets,Java,Http,Forms,Servlets,我想获取用于从Java HTTPServletRequest对象发布参数的表单的名称。这可能吗。我没有看到任何方法看起来会将其返回给我。HTML表单名称未作为请求的一部分提交。如果您需要它(为什么?),您可以将其作为隐藏输入提交: <form name="myForm" action="/my_servlet"> <input type="hidden" name="htmlFormName" value="myForm"/> ... 我同意这是不必要的。最近我

我想获取用于从Java HTTPServletRequest对象发布参数的表单的名称。这可能吗。我没有看到任何方法看起来会将其返回给我。

HTML表单名称未作为请求的一部分提交。如果您需要它(为什么?),您可以将其作为隐藏输入提交:

<form name="myForm" action="/my_servlet">
  <input type="hidden" name="htmlFormName" value="myForm"/>
  ...

我同意这是不必要的。最近我遇到了一个情况,几个页面提交给同一个控制器。结构很难看,这意味着您必须知道“您来自哪里”才能解释get/post变量。在这种情况下,我必须知道表单名称,但由于它没有发布(如您所说),我不得不接受您的建议(当然效果很好)。是否有关于发布的讲座,以及为什么不提交表单名称?(我的意思是,为什么不?;)@Stefan我猜表单名称没有提交,因为表单本身不是输入,因此与任何值都没有关联-那么提交表单有什么意义呢?但我不确定。我所知道的是,最初添加“name”是为了让表单可以从javascript中寻址,现在已被“id”属性取代;事实上,HTML 4.01 Strict不允许表单“name”属性。
String htmlFormName = request.getParameterValue("htmlFormName");