我有一个“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;
}
}
答案 0 :(得分:0)
这是答案,必须使用json。在我将UI中的dataType更改为json并将struts结果类型更改为json
之后,它可以正常工作