Dear All I am using radioGroup example found at URL: https://cwiki.apache.org/WICKET/using-radiogroups.html when I am clicking on submit button then old/Dafault selected values are printing.
Using following code(saveRoleAssignments method) I want to print user selected radio button values (e.g., true or false) for printing I am using info method. Thanks public class rdoTest extends WebPage { public rdoTest() { ArrayList list = new ArrayList(); list.add(new Person(1,"Xyz")); list.add(new Person(2,"abc")); list.add(new Person(3,"def")); list.add(new Person(1,"ghi")); list.add(new Person(1,"jkl")); ListDataProvider myIDataProvider= new ListDataProvider(list); final Form profileForm = new Form("profile-form"); final DataView dataView = new DataView("profile-rows", myIDataProvider) { private static final long serialVersionUID = 1L; private static final int ROLE_SYS_ADMIN = 1; private static final int ROLE_DEPT_ADMIN = 2; private static final int ROLE_NO_ADMIN = 3; /** * {@inheritDoc} */ @Override protected void populateItem(final Item item) { Person person = (Person) item.getModelObject(); item.add(new Label("first-name", person.getName())); // item.add(new Label("last-name", person.getLastName())); // add the radio group to select system or department (organizational) administrators final RadioGroup adminRadioGroup = new RadioGroup("radio-admin"); item.add(adminRadioGroup); // create our three models with corresponding object values (PersonRoleXrefId = persistent model that holds person/role id) final Model sysAdminModel = new Model(new PersonRoleXrefId(person.getId(), ROLE_SYS_ADMIN)); final Model deptAdminModel = new Model(new PersonRoleXrefId(person.getId(), ROLE_DEPT_ADMIN)); final Model noAdminModel = new Model(new PersonRoleXrefId(person.getId(), ROLE_NO_ADMIN )); // add the models to the radios and the radios to the radio group adminRadioGroup.add(new Radio("radio-sys-admin", sysAdminModel)); adminRadioGroup.add(new Radio("radio-dept-admin", deptAdminModel)); adminRadioGroup.add(new Radio("radio-non-admin", noAdminModel)); // set current default role selection based upon the currently iterated item // ( hasRole(...) is example method that determines if the person has the specified role or not) if (person.getId() == ROLE_SYS_ADMIN) { adminRadioGroup.setModel(sysAdminModel); } else if (person.getId() == ROLE_DEPT_ADMIN) { adminRadioGroup.setModel(deptAdminModel); } else { adminRadioGroup.setModel(noAdminModel); } } }; profileForm.add(dataView); Button okButton = new Button("button-save") { private static final long serialVersionUID = 1L; /** * {@inheritDoc} */ @Override public final void onSubmit() { info("\n------------------------------------------------------\n"); // radioGroup.getInput(), radio1.getValue()); // see section for "Processing more than one RadioGroup simultaneously" for explanation saveRoleAssignments(dataView); } }; profileForm.add(okButton); add(profileForm); } private final void saveRoleAssignments(final DataView dataView) { final ArrayList<PersonRoleXrefId> saveXrefs = new ArrayList<PersonRoleXrefId>(); for (final Iterator<?> it = dataView.getItems(); it.hasNext();) { final Item item = (Item) it.next(); final Person person = (Person) item.getModelObject(); item.visitChildren(new Component.IVisitor() { /** * {@inheritDoc} */ //@Override public final Object component(final Component component) { if (component instanceof RadioGroup) { final PersonRoleXrefId prId = (PersonRoleXrefId) component.getDefaultModelObject();//getModelObject(); // compare with existing person's assigned roles and only add changed associations if (person.getId() == prId.getId()) { //saveXrefs.add(prId); //info(person.getName() + "--------" + prId.getId()); } ///here I want to show new selected radio buttons [true or false] info("\n"+person.getName() + "--------" + prId.getId()); } // continue visiting children to locate other RadioGroup components return CONTINUE_TRAVERSAL; } }); } if (!saveXrefs.isEmpty()) { // save person/role assignments using a IDataProvider assigned to the DataView //((MyIDataProvider) dataView.getDataProvider()).saveRoleAssignments(saveXrefs); } } }