如何获取从struts-2-jquery返回的变量<sj:a> action oncompletetopics call </sj:a>

时间:2014-01-21 17:09:14

标签: jquery struts2

我有一个“Show Me”按钮,它调用AJAX来获取名称,如果调用成功返回名称,按钮“Get Key”将显示在目标结果div中。如何在oncompletTopics函数中获取变量名?现在在脚本中,名称未定义。

anchortag和terget div是:

            <div>
           <sj:a href="%{ajax}" dataType="text" targets="commands" onCompleteTopics="complete" button="true" >Get Name</sj:a>
        </div>


        <div id="comm" ><input id='commands' type='button' value='Get Key' style='visibility:hidden' /></div>

<script>
        $.subscribe('complete', function(event,data) {
                    if(name.lengh>0) {
                    $("#commands").attr('style', 'visibility:visible'); }
                });
</script>

Action类是:

        public class AjaxAction{
    /* name */
    private String name;

    @Override
    @Action(value = "ajax",
    results =
    {
        results = { @Result(name = "success", type = "plainText")
    })
    public String execute() throws Exception
    {
            name = "my name";
            return SUCCES
    }

 /* get Name*/
    public String getName()
    {
        return name;
    }

/* set Name */
    public void setName(String name)
    {
        this.name = name;
    }
}

1 个答案:

答案 0 :(得分:0)

这是答案,必须使用json。在我将UI中的dataType更改为json并将struts结果类型更改为json

之后,它可以正常工作