私はStruts2とAjaxを使用しています。Actionクラスでパラメータを取得できません。私はこのようなフォームを持っています:
<s:form id="form" onSubmit="sendAjaxRequest();">
<s:textfield name="libelle" label="Libelle" />
<s:textfield name="id" label="id" />
<s:submit value="Valider" />
<s:reset value="Effacer" />
</s:form>
HTTPリーダーで送信されたリクエストを調べると:
Content-length contains libelle=Test&id=13
私のリクエストは良いです!
私のアクションクラスでは:
public class MyAction extends ActionSupport {
private String libelle;
private Integer id;
public String getLibelle() {
return auteur;
}
public void setLibelle(String libelle) {
this.libelle = libelle;
}
public String getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String execute() {
System.out.println("Libelle " + libelle);
System.out.println("Libelle " + this.libelle);
}
}
私のアクションリベルとこれで。libelleはnullです。間違いを犯しているかどうかはわかりません。誰かが私に助けを与えることができれば。ありがとう。
私は自分の問題を見つけましたが、解決策は見つかりませんでした。生成されたhtmlコードを調べると、次のコードが表示されます。
<form id="form" name="form" action="/path/MyOtherAction.action" method="post" onSubmit="sendAjaxRequest();">
<table class="wwFormTable">
<tr>
<td class="tdLabel"><label for="form_libelle" class="label">Libelle:</label></td>
<td><input type="text" name="libelle" value="" id="form_libelle"/></td>
</tr>
<tr>
<td class="tdLabel"><label for="form_id" class="label">id:</label></td>
<td><input type="text" name="ide" value="" id="form_id"/></td>
</tr>
...
<td colspan="2"><div align="right"><input type="submit" id="form_0" value="Valider"/>
..
<td colspan="2"><div align="right"><input type="reset" value="Effacer"/>
..
</table>
</form>
したがって、MyOtherActionは、sendAjaxRequestの前に最初に実行されます。フォームのアクションMyOtherActionを削除するにはどうすればよいですか?読んでくれてありがとう。