将值从jsp中的javascript传递到struts2中的操作类

bpzcxfmw  于 2022-12-07  发布在  Java
关注(0)|答案(4)|浏览(152)

how can i pass value from javascript to a java class in struts2?这是类似于我想要的链接。但是它对我不起作用。我已经尝试了类似的东西。隐藏在jsp中的Struts标记是

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

在我的action类中,我为param_ID声明了getter和setter,但是它返回null。
请帮忙谢谢。

vyu0f0g1

vyu0f0g11#

你应该这样使用

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

现在,struts操作中应该有一个xyz属性的getter和setter。
标记中的name属性应始终Map到Struts操作中的属性。
希望这能管用。

7hiiyaii

7hiiyaii2#

如果页面没有提交您的hidden域,可能是隐藏域不在表单元素中。您可以尝试将其作为参数传递给您的url。尝试以下操作

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

如果成功了告诉我。

ej83mcc0

ej83mcc03#

如果你想调用一个动作并返回数据,你应该使用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;
        });

如果您只想调用action,则可能需要使用$. AJAX 代替$.getJson
如果您想使用struts 2-json,那么您还需要更改struts.xml,即

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

值得一试

0x6upsns

0x6upsns4#

我遇到了类似的问题,通过从JavaScript函数追加Action类并追加URL参数解决了该问题,如下所示:

<a href="(<%actionClassName%>.action?<%URLParms%>" />

相关问题