2011-03-23 9 views
1

У меня есть объект домена, который я представляю на типичной форме. Вот упрощенный пример:Spring MVC - поля для очистки

public class Name implements Keyed { 

    private String firstName; 
    private String middleName; 
    private String lastName; 
    private Number key; 

    //Getters and Setters 
} 

Предположим, у меня есть два типа пользователей, каждый из которых может изменять эти объекты Name. По какой-то глупой причине одной группе не разрешается видеть/редактировать средние имена пользователей. Поэтому я оставляю это поле вне формы (также нет скрытого поля).

Есть ли способ сохранить весну от очистки этого поля среднего имени? Я мог бы создать для этого новый объект, но это похоже на дублирование, которое не нужно.

Есть ли способ сохранить данные, которые не были изменены (т. Е. Не отображались для пользователя, следовательно, не могли быть изменены)?

ответ

0

Кажется, что с пружинным креплением это просто невозможно. Вы в основном вынуждены создавать копию вашего объекта домена и удалять поля, которые не должны отображаться на самой странице. В то время как неудачно, это просто то, как работает переплет весны, поскольку новый экземпляр будет создан весной для вас до того, как ваш метод будет вызван.

0

Возможно, вы могли бы сохранить среднее имя в сеансе (только для пользователей только для чтения) и получить его при отправке формы.

+0

Хотя это правда, это упрощенный пример. Часть, над которой я работаю, - это объект с глубоким составом. Например, я мог бы не отображать среднее имя. Тем не менее, я действительно имею дело с объектом Person, у которого есть дата рождения, адрес электронной почты, физический адрес и т. Д. Затем мне нужно выбрать и выбрать, что разместить на сессии, и после последующего представления сбросить все эти поля, которые не отображались (что может быть громоздким). – Scott

Смежные вопросы