Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
需要帮助才能使用Spring表单吗 我正在编写一个Spring WebApp,事情进展顺利。我正在尝试编写一个表单,允许管理员更改一些基本的用户详细信息。然而,在提交表单时,我不断收到一个HTTP400错误,说客户端发送的请求“语法不正确”。但它并没有提供任何实际有用的信息,我真的检查了所有的东西,不知道我可能做错了什么。以下是JSP: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="s" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="security" uri="http://www.springframework.org/security/tags"%> <%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%> <div align="center"> <s:url value="/admin/access" var="access_url" /> <sf:form method="POST" modelAttribute="user" dojoType="dijit.form.Form"> <script type="dojo/method" event="onSubmit"> if (!this.validate()) { return false; } return true; </script> <table> <tr> <td align="right">Username: </td> <td> <sf:input path="username" dojoType="dijit.form.ValidationTextBox" trim="true" required="true"/> </td> </tr> <tr> <td align="right">Password: </td> <td> <sf:input path="password" type="password" dojoType="dijit.form.ValidationTextBox" required="true"/> </td> </tr> <tr> <td align="right">Enabled: </td> <td> Yes<sf:radiobutton path="enabled" value="true" dojoType="dijit.form.RadioButton"/> No<sf:radiobutton path="enabled" value="false" dojoType="dijit.form.RadioButton"/> </td> </tr> <tr> <td align="right">Admin: </td> <td> Yes<sf:radiobutton path="isAdmin" value="true" dojoType="dijit.form.RadioButton"/> No<sf:radiobutton path="isAdmin" value="false" dojoType="dijit.form.RadioButton"/> </td> </tr> <tr> <td align="right" colspan="2"> <button dojoType="dijit.form.Button" type="submit">Submit</button> </td> </tr> </table> </sf:form> </div>_Spring_Jsp_Spring Mvc_Dojo - Fatal编程技术网

需要帮助才能使用Spring表单吗 我正在编写一个Spring WebApp,事情进展顺利。我正在尝试编写一个表单,允许管理员更改一些基本的用户详细信息。然而,在提交表单时,我不断收到一个HTTP400错误,说客户端发送的请求“语法不正确”。但它并没有提供任何实际有用的信息,我真的检查了所有的东西,不知道我可能做错了什么。以下是JSP: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="s" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="security" uri="http://www.springframework.org/security/tags"%> <%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%> <div align="center"> <s:url value="/admin/access" var="access_url" /> <sf:form method="POST" modelAttribute="user" dojoType="dijit.form.Form"> <script type="dojo/method" event="onSubmit"> if (!this.validate()) { return false; } return true; </script> <table> <tr> <td align="right">Username: </td> <td> <sf:input path="username" dojoType="dijit.form.ValidationTextBox" trim="true" required="true"/> </td> </tr> <tr> <td align="right">Password: </td> <td> <sf:input path="password" type="password" dojoType="dijit.form.ValidationTextBox" required="true"/> </td> </tr> <tr> <td align="right">Enabled: </td> <td> Yes<sf:radiobutton path="enabled" value="true" dojoType="dijit.form.RadioButton"/> No<sf:radiobutton path="enabled" value="false" dojoType="dijit.form.RadioButton"/> </td> </tr> <tr> <td align="right">Admin: </td> <td> Yes<sf:radiobutton path="isAdmin" value="true" dojoType="dijit.form.RadioButton"/> No<sf:radiobutton path="isAdmin" value="false" dojoType="dijit.form.RadioButton"/> </td> </tr> <tr> <td align="right" colspan="2"> <button dojoType="dijit.form.Button" type="submit">Submit</button> </td> </tr> </table> </sf:form> </div>

需要帮助才能使用Spring表单吗 我正在编写一个Spring WebApp,事情进展顺利。我正在尝试编写一个表单,允许管理员更改一些基本的用户详细信息。然而,在提交表单时,我不断收到一个HTTP400错误,说客户端发送的请求“语法不正确”。但它并没有提供任何实际有用的信息,我真的检查了所有的东西,不知道我可能做错了什么。以下是JSP: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="s" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="security" uri="http://www.springframework.org/security/tags"%> <%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%> <div align="center"> <s:url value="/admin/access" var="access_url" /> <sf:form method="POST" modelAttribute="user" dojoType="dijit.form.Form"> <script type="dojo/method" event="onSubmit"> if (!this.validate()) { return false; } return true; </script> <table> <tr> <td align="right">Username: </td> <td> <sf:input path="username" dojoType="dijit.form.ValidationTextBox" trim="true" required="true"/> </td> </tr> <tr> <td align="right">Password: </td> <td> <sf:input path="password" type="password" dojoType="dijit.form.ValidationTextBox" required="true"/> </td> </tr> <tr> <td align="right">Enabled: </td> <td> Yes<sf:radiobutton path="enabled" value="true" dojoType="dijit.form.RadioButton"/> No<sf:radiobutton path="enabled" value="false" dojoType="dijit.form.RadioButton"/> </td> </tr> <tr> <td align="right">Admin: </td> <td> Yes<sf:radiobutton path="isAdmin" value="true" dojoType="dijit.form.RadioButton"/> No<sf:radiobutton path="isAdmin" value="false" dojoType="dijit.form.RadioButton"/> </td> </tr> <tr> <td align="right" colspan="2"> <button dojoType="dijit.form.Button" type="submit">Submit</button> </td> </tr> </table> </sf:form> </div>,spring,jsp,spring-mvc,dojo,Spring,Jsp,Spring Mvc,Dojo,这是来自同一控制器的GET映射,尽管表单显示完美,所有值都正确映射到表单中,所以我不知道这里有任何问题: @RequestMapping(value="/admin/editUser", method=RequestMethod.GET) public void showEditUser(Model model, @RequestParam("username") String username) { .... model.addAttribute("user", user);

这是来自同一控制器的GET映射,尽管表单显示完美,所有值都正确映射到表单中,所以我不知道这里有任何问题:

@RequestMapping(value="/admin/editUser", method=RequestMethod.GET)
public void showEditUser(Model model, @RequestParam("username") String username) {
    ....
    model.addAttribute("user", user);
}

无论如何,如果有人有任何想法,请告诉我。我已经成功地解决了我一整天遇到的所有错误,但我似乎看不出这有什么问题。谢谢。

尝试删除@RequiestParam fotm提交用户方法。

结果证明答案是所有人留下的东西的组合。通常对于Spring,表单上不需要操作方法,但在本例中,由于我加载表单的方式,最终需要一个操作方法来覆盖Spring加载的操作

同时删除@RequestParam(“用户”)位解决了400错误的问题。因为这次我使用了spring表单标记,所以所有内容都绑定得很好,我想我不需要RequestParam位。很明显,我还没有最好的理解什么时候需要这些,什么时候不需要


无论如何,我标记了人们的答案,但从技术上讲,没有一个是完整的解决方案,所以我发布了这个。谢谢大家。

您的sf:form标签没有操作。我认为您需要在表单的action属性中删除“admin/editUser”。
@RequestMapping(value="/admin/editUser", method=RequestMethod.GET)
public void showEditUser(Model model, @RequestParam("username") String username) {
    ....
    model.addAttribute("user", user);
}