在POJO ModelDriven Struts 2中访问属性?

时间:2014-01-07 07:05:24

标签: java javascript ajax jsp struts2

我在Struts2中使用ModelDriven,这样我的模型对象本身就有另一个具有属性的对象。我正在进行AJAX调用,并希望我的模型对象由用户填充。

JSP:

<s:select list="#session.circleIdNameMap"
  headerKey="-1" headerValue="Select Circle"
  name="id.circleId" id="selectCircleDropDown"
  onchange="findTspNameIdMap(this.value)">
</s:select>

JS:

 $.ajax({   
    type: 'POST',
    url: '/gma/findTspNameIdMap.action',
    data: 
    { 
        id.circleId: circleId,
        minNumberOc: $("[name='minNumberOc']").val(),
        minDurationOc: $("[name='minDurationOc']").val(),
    },

但是,在firebug中我收到错误

SyntaxError: missing : after property id
id.circleId: circleId,  

但是minNumberOc之类的其他直接提供的工作正常但不是id.anything。我发布了我的模型对象和Action类。

GmaThresholdParameter:

public class GmaThresholdParameter implements Serializable {
    private static final long serialVersionUID = 1L;

    @EmbeddedId
    private GmaThresholdParameterPK id;
   //getter/setters of id

GmaThresholdParameterPK:

public class GmaThresholdParameterPK implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column(name="CIRCLE_ID")
    private int circleId;

    @Column(name="TSP_ID")
    private int tspId;

    private String flag;
   //getter/setters

行动类:

public class ConfigureTspThresholdAction extends ActionSupport implements SessionAware, ModelDriven<GmaThresholdParameter>{

    private Map<String,String> circleIdNameMap;
// MODEL object
    GmaThresholdParameter gmaThresholdParameters = new GmaThresholdParameter();
   .....
   ...
   public GmaThresholdParameter getGmaThresholdParameters() {
    return gmaThresholdParameters;
}


public void setGmaThresholdParameters(
        GmaThresholdParameter gmaThresholdParameters) {
    this.gmaThresholdParameters = gmaThresholdParameters;
}

@Override
public GmaThresholdParameter getModel() {
    return gmaThresholdParameters;
} 

如何设置与id对应的属性?为什么它在Firebug中出错?

1 个答案:

答案 0 :(得分:0)

为什么它在firebug中出错?

因为您在下面的语句中有一个尾随逗号

minDurationOc: $("[name='minDurationOc']").val(),