Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Spring, аналог tapestry BeanEditForm


Автор: 4eJIoBekMoJIekyJIa 25.4.2010, 13:22
Здравствуйте, подскажите пожалуйста есть ли в Spring какойнибудь аналог tapestry BeanEditForm.
Имею ввиду какой-нибудь тег, выводящий полностью или частично форму для редактирования жавабина.

Т.е например если у меня есть бин с полями 

Код

String name;

Enum options;


он с помощью этого тега, вывелся бы ввиде формы с input и select соответственно.

Спасибо

Автор: 4eJIoBekMoJIekyJIa 25.4.2010, 16:32
и еще вопрос можноли в спринг объявлять валидацию на странице, т.е например как в JSF

Код

    <h:inputText>
        <f:validateLength maximum="3"/>
    </h:inputText> 



Автор: ki6opr 26.4.2010, 08:37
первого точно не встречал

Автор: garbuz 26.4.2010, 12:05
Первого в спринге точно нет, второго в явном виде тоже нет. Хотя есть свои валидаторы и в третьем спринге еcть поддержка jsr 303, где нечно подобное объявляется на уровне ентити-классов.

Автор: Vasay 26.4.2010, 15:42
Первого, в самом спринге нет. Однако есть фрэймворки на базе spring-а - Spring Roo и Grails, там есть такая вещь как scaffolding, не совсем то о чем Вы писали, но CRUD приложения из Entity классов позволяет создавать очень быстро.


Второго нет, по моему скромному мнению - и правильно, ибо бизнес логика во View не есть хорошо (исключение для дублирующих JavaScript проверок). 
Есть такая вещь, как Annotation-Based Validation:


(пример отсюда: http://wheelersoftware.com/articles/spring-bean-validation-framework.html )
Код

package contact;

import org.springmodules.validation.bean.conf.loader.annotation.handler.Email;
import org.springmodules.validation.bean.conf.loader.annotation.handler.Length;
import org.springmodules.validation.bean.conf.loader.annotation.handler.NotBlank;

public final class UserMessage {
    
    @NotBlank
    @Length(max = 80)
    private String name;
    
    @NotBlank
    @Email
    @Length(max = 80)
    private String email;
    
    @NotBlank
    @Length(max = 4000)
    private String text;
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}


Автор: 4eJIoBekMoJIekyJIa 26.4.2010, 22:36
Цитата(garbuz @  26.4.2010,  12:05 Найти цитируемый пост)
в третьем спринге еcть поддержка jsr 303, где нечно подобное объявляется на уровне ентити-классов. 

Да, я видел это. Но мне всеже нравится помимо этого, иметь возможность добавлять валидацию декларативно.


Цитата(Vasay @  26.4.2010,  15:42 Найти цитируемый пост)
. Однако есть фрэймворки на базе spring-а - Spring Roo и Grails, там есть такая вещь как scaffolding


под scaffolding подразумевается генерация страниц просмотра/редактирования/поиска?
Собственно под Grails я нашел плагин предоставляющий такой тег, поэтому и стал копать на наличие подобного под Roo... повидимому готового нет.


Vasay, garbuz, ki6opr Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)