コードで次の状況があります。
アクション クラス:
@NameSpace("/")
public class MyAction extends ActionSupport implements ModelDriven<Car> {
private Car car = new Cart();
@Override
public Car getModel() {
return car;
}
@Action(value = "pageAction", results = {name = SUCCESS, location = "myPage", type="tiles"})
public String showPage() {
return SUCCESS;
}
@Action(value = "formSubmitAction", results = {name = SUCCESS, location = "results.jsp"})
public String formSubmitAction() {
System.out.println(car);
// everything has default values (nulls)
return SUCCESS;
}
}
myPage の場所を表示:
<s:form
namespace="/"
action="pageAction"
method="post" >
<s:push value="model">
<s:textfield name="color" />
<s:textfield name="manufacturer" />
<sj:submit
href="formSubmitAction"
targets="output" />
</s:push>
</s:form>
<div id="output"></div>
results.jsp:
空のコンテンツをレンダリングしますdiv#output
<s:property value="%{model}" />
<s:property value="%{model.color}" />
<s:property value="%{model.manufacturer}" />
なぜそれが起こっているのだろうか?送信後にモデル データが更新されません。
struts2-jquery submit tagを使用しています。
Ajax を使用せずに単純なフォーム送信を使用すると、モデルが更新されますが、Ajax を使用して非同期でデータをロードしたいと考えています。
どうすればそれを達成できますか?