Java 表单:输入和表单:密码为';t提交给控制器,但表单:隐藏为。。。呵呵?
我是一位经验丰富的程序员,对Spring3.0框架有多年的经验,但这一点让我有点困惑 在我的表单中,我有三种不同的场景,我的和标记没有提交到我的控制器(我已经使用@InitBinder方法检查了任何绑定异常,但没有任何错误…以下是我的表单标记: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 --%>
<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>