[SPRING] Spring MVC에서 빈 폼 입력을 null 문자열로 바꾸는 쉬운 방법이 있습니까?
SPRINGSpring MVC에서 빈 폼 입력을 null 문자열로 바꾸는 쉬운 방법이 있습니까?
저는 Spring MVC와 SimpleJdbcInsert를 사용하여 MySQL 데이터베이스에 객체를 삽입하고 있습니다. 나는 공백 입력을 데이터베이스에서 NULL 대신 NULL로 설정하고 싶습니다. 나는 꽤 많은 필드를 가지고 있으며, 수동으로 모든 값을 검사하지 않고이를 수행 할 수있는 방법을 찾고 있습니다.
감사!
그래서 나는 바보 야. 일부 오류가 결합되어 아래 정답이 정확하지 않다고 믿었습니다. 다음과 같이 PropertyEditorSupport를 작성했습니다.
class StringEditor extends PropertyEditorSupport {
public void setAsText(String text) {
String value = text.trim();
if ("" == value) {
setValue(null);
} else {
setValue(value);
}
}
}
두 가지 문제가 있습니다.
도움을 주셔서 감사 드리며 "운영자 오류"에 대해 사과드립니다.
브렛
해결법
-
==============================
1.찾고있는 수업은 다음과 같습니다.
찾고있는 수업은 다음과 같습니다.
org.springframework.beans.propertyeditors.StringTrimmerEditor
true로 구성하면 빈 / 공백 문자열을 null로 변환합니다. 바인더에 등록하는 방법은 기본값으로 사용할지 또는 특정보기에만 적용할지에 따라 다릅니다.
예를 들어 하나의 컨트롤러에 추가 할 수 있습니다.
@InitBinder public void initBinder(WebDataBinder binder) { binder.registerCustomEditor(String.class, new StringTrimmerEditor(true)); }
여기에 지침
-
==============================
2.나는 이것이 오래되었다는 것을 알고 있지만 모든 컨트롤러에 바인더가있는 StringTrimmerEditor를 적용하는 아주 쉬운 방법을 찾을 때까지 약 2 ~ 3 시간이 낭비되었습니다.
나는 이것이 오래되었다는 것을 알고 있지만 모든 컨트롤러에 바인더가있는 StringTrimmerEditor를 적용하는 아주 쉬운 방법을 찾을 때까지 약 2 ~ 3 시간이 낭비되었습니다.
다시 한번 : 저는 RTFM을 기억해야합니다.
Spring 3.2에서 @ ControllerAdvice-annottated 컨트롤러 클래스를 생성하고 @Affe 예제와 같이 @ InitBinder-annotated 메소드를 사용할 수있다.
http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann-initbinder-advice
다음은 그 예입니다.
@ControllerAdvice @Controller public class AppBindingInitializer { @InitBinder public void initBinder(WebDataBinder binder) { binder.registerCustomEditor(String.class, new StringTrimmerEditor(true)); } }
누군가가 도움이되기를 바랍니다.
-
==============================
3.아마도 사용자 정의 바인더를 사용할 수 있습니다.
아마도 사용자 정의 바인더를 사용할 수 있습니다.
-
==============================
4.선택적 필드에 대한 기본값을 NULL로 설정합니다. 실제로 기본적으로 NULL이 아닙니다.
선택적 필드에 대한 기본값을 NULL로 설정합니다. 실제로 기본적으로 NULL이 아닙니다.
입력 문자열을 구문 분석 한 다음 채워진 열만 명시 적으로 지정하십시오.
usingColumns
아, 그리고 항상 당신의 의견을 살피시 길 조언합니다 ...
from https://stackoverflow.com/questions/2977649/is-there-an-easy-way-to-turn-empty-form-inputs-into-null-strings-in-spring-mvc by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 목록에 자동로드 될 때의 빈 순서 (0) | 2019.05.28 |
---|---|
[SPRING] Spring MVC에서 빈 문자열 대신에 형태 값을 NULL로 설정 (0) | 2019.05.28 |
[SPRING] Jackson 날짜 직렬화 - "유효하지 않은"날짜 (0) | 2019.05.28 |
[SPRING] Vaadin : 위젯 세트가로드되지 않습니다. (0) | 2019.05.27 |
[SPRING] 배치에서 내 데이터 소스를 사용하지 않는 스프링 배치 프로젝트를 만들고 싶습니다. (0) | 2019.05.27 |