我在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中出错?
答案 0 :(得分:0)
为什么它在firebug中出错?
因为您在下面的语句中有一个尾随逗号
minDurationOc: $("[name='minDurationOc']").val(),