0

javascriptからstruts2のJavaクラスに値を渡すにはどうすればよいですか? これは私が欲しいものに似たリンクですが、私にはうまくいきません。私はこのようなことを試しました。jspに隠されているStrutsタグは

    function redirect(id)
    {
    window.alert("Hello"+id);
    document.getElementById('param_ID').value=id;
    document.forms["./ListAlgorithmAction"].submit();
    }

私のアクション クラスでは、param_ID の getter と setter を宣言しましたが、null を返します。

親切に助けてください。ありがとうございました。

4

4 に答える 4

0

アクションを呼び出してデータを返したい場合は、アクションの呼び出しに struts2-json プラグイン JQuery スクリプトを使用する必要があります

    var abc = $("#abc").val();
            $.getJSON('youraction.action', {
                variable -name action class : abc,
                            value to be passed:value,

        //and so on
            }, function(data) {


        //your processing code
                }
            });
            return false;
        });

アクションを呼び出すだけの場合は、$.getJson の代わりに $.ajax を使用できます。

struts 2-json を使用する場合は、struts.xml も変更する必要があります。

<result name="success" type="json"></result>

行ってみる価値あり

于 2013-10-25T09:52:36.937 に答える
0

ページがフィールドを送信していない場合hidden、隠しフィールドがフォーム要素内にない可能性があります。パラメータとしてURLに渡してみてください。これを試して

function redirect(id)
{
     var form = document.forms[0];
     var url = './ListAlgorithmAction?param_ID=' + id;
     form.action = url;
     form.submit();
}

これがうまくいくかどうか教えてください。

于 2012-08-30T08:41:49.307 に答える
0

このように使用する必要があります

<s:hidden id = "param_ID" name="xyz" />

これで、struts アクションに xyz プロパティの getter と setter が必要になります。

Struts アクションの属性にマップされたタグには常に name 属性が必要です。

これがうまくいくことを願っています。

于 2012-08-30T06:08:53.553 に答える