Spring Roo обновляет поле пароля или не обновляет все поля - PullRequest
4 голосов
/ 08 декабря 2011

У меня есть сущность User, которая имеет username, name и т. Д ...

User также имеет свойство password. И я отключил рендеринг этого в формах списка / показа, но в форме обновления поле установлено на type="password".

Что меня беспокоит, так это то, что вы не можете обновить пользователя без повторного ввода пароля, поскольку звездочек здесь нет, а если вы не введете пароль, password будет установлен на null или "".

Как я могу обойти это?

Есть и другая проблема. Если я удалю некоторые поля из формы обновления, все остальные поля будут установлены на null. Я хочу, чтобы пользователь мог обновлять некоторые, но не все поля некоторых прав.

1 Ответ

1 голос
/ 22 декабря 2011

Я создал сущность Foo с четырьмя полями f1, f2, f3 и f4 .

В update.jspx для этого объекта я установил атрибут render = "false" для поля f1 .

В методе обновления FooController до обновления объекта параметра foo я извлек старое значение из БД и вставил его в параметр foo, как показано ниже, потому что мы не хотим, чтобы конечный пользователь обновил это поле.

    Foo fromDB=Foo.findFoo(foo.getId());
    foo.setF1(fromDB.getF1());
    foo.merge();

Я могу проверить, что старое значение для f1 в сущности Foo не изменяется после завершения операции обновления.

Это может быть одним из способов запретить пользователям обновлять некоторые поля в объекте сущности и надеяться, что этот подход работает для вас.

Ура,

...