Java 表单:输入和表单:密码为';t提交给控制器,但表单:隐藏为。。。呵呵?

Java 表单:输入和表单:密码为';t提交给控制器,但表单:隐藏为。。。呵呵?,java,javascript,jquery,html,spring-mvc,Java,Javascript,Jquery,Html,Spring Mvc,我是一位经验丰富的程序员,对Spring3.0框架有多年的经验,但这一点让我有点困惑 在我的表单中,我有三种不同的场景,我的和标记没有提交到我的控制器(我已经使用@InitBinder方法检查了任何绑定异常,但没有任何错误…以下是我的表单标记: <form:form commandName="accountCommand" method="POST"> <form:hidden path="action"/> <%-- THIS WORKS --%>

我是一位经验丰富的程序员,对Spring3.0框架有多年的经验,但这一点让我有点困惑

在我的表单中,我有三种不同的场景,我的和标记没有提交到我的控制器(我已经使用@InitBinder方法检查了任何绑定异常,但没有任何错误…以下是我的表单标记:

<form:form commandName="accountCommand" method="POST">
  <form:hidden path="action"/> <%-- THIS WORKS --%>
  <%-- ...  --%>

  <%-- These don't submit anything to the controller  --%>
  <div>
    Old Password: <form:password path="oldPassword"/>
    New Password: <form:password path="newPassword"/>    
  </div>
</form:form>
我已经在setter方法中设置了断点,并且可以确认没有为“password”字段调用断点

下面是我用来提交隐藏字段的JS代码(有效):

编辑:

以下是我的网站上显示的实际HTML代码:

<form id="accountCommand" action="/account/editAccount.htm" method="POST">
    <input id="action" name="action" type="hidden" value=""/>

    <div>
      <input id="oldPassword" name="oldPassword" type="password" value=""/>
      <input id="newPassword" name="newPassword" type="password" value=""/>
    </div>
</form>

在调用
$(“#actionCommand”).submit()
方法之前,通过输出密码输入值,我已经确认密码输入在提交时确实有值。但是一旦我进入控制器,这些值就为空。

解决了问题

在我所有的隐藏字段下面,我添加了另一个
标签…所以我在同一个网站上有两个表单

这导致第二个表单下的所有输入在提交给我的控制器时失败

这是复制/粘贴失败,因为我从应用程序的另一部分复制了代码

所以,对于那些感兴趣的人……我刚刚删除了第二个
标记,它解决了我的问题


生活和学习!

请发布生成的html源代码。按要求发布html源代码@libike您是否检查了控制器部分是否有输入错误?例如,输入字段的名称。@Ritikesh,谢谢您的评论……据我所知,没有输入错误。我想所有验证是否有输入错误的相关信息都存在如上所述……这个错误发生在三个不同的字段上,所以我认为我在三个不同的字段中出现打字错误的几率相当低(至少我希望是这样!否则我打字很糟糕!哈哈)
public class AccountsCommand
{
  private String oldPassword;
  private String newPassword;
  private String action;

  public String getOldPassword()
  {
    return oldPassword;
  }
  public void setOldPassword(String oldPassword)
  {
    this.oldPassword = oldPassword;
  }
  public String getNewPassword()
  {
    return newPassword;
  }
  public void setNewPassword(String newPassword)
  {
    this.newPassword = newPassword;
  }
  public String getAction()
  {
    return action;
  }
  public void setAction(String action)
  {
    this.action = action;
  }
}
$("#planSubmit").click(function () {
  $("#action").val("updateAccount");
  $("#accountCommand").submit();
  return false;
});
<form id="accountCommand" action="/account/editAccount.htm" method="POST">
    <input id="action" name="action" type="hidden" value=""/>

    <div>
      <input id="oldPassword" name="oldPassword" type="password" value=""/>
      <input id="newPassword" name="newPassword" type="password" value=""/>
    </div>
</form>