なぜこれが起こったのかわかりません。Struts アクションのメソッドに投稿する Struts フォームがあります。
<s:form data-dojo-type="dijit/form/Form" action="SaveRec" method="POST"
enctype="multipart/form-data" theme="simple" id="frmRecord">
<div class="item">
...
基本的に、ブラウザでリンク htp://example.com:8080/Test/SaveRec をクリックするだけで実行可能なページが表示されますが、これらのコードを使用した後、ポスト 404 エラー (POST http://example .com:8080/Test/SaveRec.action 404 (見つかりません) ):
dojo.connect(dojo.byId('btnSave'), 'onclick', function(event){
// The parameters to pass to xhrPost, the message, and the url to send it to
// Also, how to handle the return and callbacks.
var xhrArgs = {
form: dojo.byId("frmRecord"),
handleAs: "json",
load: function(data){
console.log("Message posted. " + data);
},
error: function(error){
console.log("Message failed to post, " + error);
}
}
console.log("Message being sent...");
// Call the asynchronous xhrPost
var deferred = dojo.xhrPost(xhrArgs);
});
PS:invocation.invoke()
インターセプターでメッセージを実行して出力できます
アップデート:
問題はアクションの戻り値の型だと思います。インターセプターをアクションに追加しましたが、まだ getter を使用して値を取得することはできません。
<struts>
<package name="testJson" extends="json-default">
<action name="SaveRec" class="com.xyz.Test" method="saveRec">
<interceptor-ref name="json">
<param name="contentType">application/json</param>
</interceptor-ref>
<result name="success" type="json">
<param name="root">saveResult</param>
</result>
</action>
...