0
我有一个实现,当用户点击复选框时,一个json被关联为复选框的值,并且该值被传递给我的bean类。 而在被调用的方法中,String被解析成JSON对象。 当我选择两个复选框时,它工作得很好。但是,如果我选择一个复选框,那么它会给我错误。使用f:复选框将值从JSP传递到控制器
这里是我的复选框Bean类 -
private ArrayList<String> Ancillary=new ArrayList<String>() ;
public ArrayList<String> getAncillary() {
for(int i=0;i<Ancillary.size();i++){
System.out.println(i+"Object:" +Ancillary.get(i)+"\n\n\n");
}
return Ancillary;
}
public void setAncillary(ArrayList<String> ancillary) {
Ancillary = ancillary;
}
这里是我的方法,我打印JSON特定键的值。
public Event updatePax(RequestContext context) throws Exception {
ExtrasMenu extrasMenu = (ExtrasMenu) context.getConversationScope().get(ScopeKeys.EXTRASMENU);
System.out.println("As a string:"+extrasMenu.getAncillary().toString());
JSONObject json=new JSONObject(extrasMenu.getAncillary().get(0));
System.out.println(json.get("firstName"));
}
这里是输出 -
如果只有一个复选框被选中 -
0Object:{"firstName":"TIMOTHY"
1Object:"lastName":"WALKER"
2Object:"price":100}
如果两个或更多的复选框被选中 -
0Object:{"firstName":"TIMOTHY","lastname":"WALKER","price":"50"}
1Object:{"firstName":"ANNE","lastname":"WALKER","price":"150"}