如何在struts2中只获取响应中的特定字段

时间:2014-07-28 08:03:25

标签: java jquery regex json struts2

我有一个动作类,其中定义了许多动作方法,并且还定义了适当的getter和setter方法。我有一些动作方法,我通过从jQuery调用它们来获取数据作为json。但是当我得到json数据时,它包含了定义了getter和setter的所有字段,但是我想只获得由我调用的那个方法填充的那个字段。例如 -

public class ApplicantRegistration extends ActionSupport{
private String s1;
private XyzBean bean;
private String s2;
// respective getters and setters....

public String m1(){
// some work
 return SUCCESS;
}

public String m2(){
   //some work
    s2="abc";
    return SUCCESS;
}


}

当我通过jQuery调用方法m2并获得json响应时,它会给出

{
 s1: null,
 bean: null,
 s2:"abc",
 m2: "success",

}

但我只想要

{
 s2:"abc"
}

1 个答案:

答案 0 :(得分:2)

默认情况下,json结果序列化root参数指定的所有bean属性,该参数默认设置为操作。但是,您可以使用结果的includeProperties参数仅过滤匹配正则表达式的root中的那些属性。

@Result(type="json", params = {"includeProperties", "^s2"})