JSP 在Struts2中使用ModelDriven访问POJO属性?

uoifb46i  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(65)

我在Struts2中使用ModelDriven,这样我的模型对象在其自身中就有另一个带属性的对象。我正在做一个AJAX调用,并希望我的模型对象由User填充。

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类。

Gmasthold参数:

public class GmaThresholdParameter implements Serializable {
    private static final long serialVersionUID = 1L;
    
    @EmbeddedId
    private GmaThresholdParameterPK id;
   //getter/setters of id

Gmasthold参数主键:

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中会出现错误?

ccgok5k5

ccgok5k51#

为什么在Firebug中会出现错误?
因为在下面的语句中有一个尾随逗号

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

相关问题