Восстановление данных формы Dynami c в расширении Java PrimeFaces - PullRequest
0 голосов
/ 14 января 2020

моя работа состоит в том, чтобы восстановить из веб-службы уже заполненную форму; измените его с передачей, проблема в том, что l oop, который я сделал, получает модель до модификации. Я хочу знать, как восстановить форму после модификации

List<ModeleForm> modeles = new ArrayList<ModeleForm>();
for (DynaFormControl dynaFormControl : model.getControls()) {
    System.out.println("recup");
    modeles.add((ModeleForm) dynaFormControl.getData());
}

Я пробовал это l oop но он получает только начальные значения.

  model = new DynaFormModel();
    try {

        String url = "http://localhost:8080/activiti-rest/service/form/form-data?taskId=" + idTask + "";
        Representation respons = getClientResource(url).get(MediaType.APPLICATION_JSON);
        JSONObject object = new JSONObject(respons.getText());

        if (object != null) {

            JSONArray formProperties = object.getJSONArray("formProperties");
            DynaFormLabel labels[] = new DynaFormLabel[0];
            DynaFormControl labels2[] = new DynaFormControl[0];

            labels = new DynaFormLabel[formProperties.length()];
            labels2 = new DynaFormControl[formProperties.length()];
            for (int i = 0; i < (formProperties.length()); i++) {
                DynaFormRow row = model.createRegularRow();
                boolean required = Boolean.valueOf(formProperties.getJSONObject(i).getString("required"));
                labels[i] = row.addLabel(formProperties.getJSONObject(i).getString("name"));
                labels2[i] = row.addControl(new ModeleForm(formProperties.getJSONObject(i).getString("name"), formProperties.getJSONObject(i).getString("id"), formProperties.getJSONObject(i).getString("value"), required), getType(formProperties.getJSONObject(i).getString("type")));
                labels[i].setForControl(labels2[i]);

            }
            labels = null;
            labels2 = null;

        }
        object = null;
    } catch (MalformedURLException ex) {
        Logger.getLogger(DemandeGeneraleController.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(DemandeGeneraleController.class.getName()).log(Level.SEVERE, null, ex);
    } catch (JSONException ex) {
        Logger.getLogger(DemandeGeneraleController.class.getName()).log(Level.SEVERE, null, ex);
    }
    System.out.println("apres la fct create");
    return model;
}

этот код создает модель

  <h:panelGroup id="dynaFormGroup"> 

                    <pe:dynaForm id="dynaForm" value="#{tachesController.createForm()}" var="data" 
                                 autoSubmit="true" widgetVar="dynaForm"  >


                        <ui:include  src="colsAddM2.xhtml"/>

                    </pe:dynaForm>
                </h:panelGroup>

моей страницы .x html, которая отображает динамическую c форму

...