私はSpringのWebアプリケーションを書く途中です。私は、管理者がいくつかの基本的なユーザーの詳細を変更できるようにするフォームを作成しようとしています。しかし、フォームの提出時に、私はクライアントから送られたリクエストが "Syntactically Incorrect"であると言ってHTTP 400エラーを出し続けます。それは実際の有用な情報を提供していないと私は本当にすべてを見渡して、私が間違って何ができるか分からない。ここではJSPは次のとおりです。Springのフォームを動作させるのに助けが必要です
<%@ 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>
ここでは、これまでということになっていないものの、コントローラに呼び出されることになります方法です。
@RequestMapping(value="/admin/editUser", method=RequestMethod.POST)
public String submitEditUser(@RequestParam("user") NFIUser nfiUser) {
そして、ここでは、同じコントローラからGETマッピングですが、聞かせてください誰がどんな考えを持っている場合、
@RequestMapping(value="/admin/editUser", method=RequestMethod.GET)
public void showEditUser(Model model, @RequestParam("username") String username) {
....
model.addAttribute("user", user);
}
とにかく:フォームは、すべての値がフォームに正しくマップされていると完全に表示しても、私はここに問題があることを知りません私は知っている。私は一日中遭遇しているエラーをすべてうまく解決していますが、この問題は何も見えません。ありがとう。
sf:formタグにはアクションがありません。私はあなたの "admin/editUser"をフォームのアクション属性にドロップする必要があると思います。 – jeff