spring mvc 주석 사용 후 검사 및 바 인 딩 처리
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
@Component(
"
productValidator
"
)
public
class
ProductValidator
implements
Validator { @SuppressWarnings(
"
unchecked
"
) @Override
public
boolean
supports(Class clazz) {
return
Product.
class
.isAssignableFrom(clazz); } @Override
public
void
validate(Object object, Errors errors) { ValidationUtils.rejectIfEmpty(errors,
"
name
"
,
"
field.required
"
); }
Controller 에서 주 해 를 통 해 가 져 오기:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
@Resource(name
=
"
productValidator
"
)
private
Validator validator; ... @RequestMapping(
"
/save.htm
"
)
public
ModelAndView save(Product product, BindingResult result) {
this
.validator.validate(product, result);
if
(result.hasErrors()) {
return
new
ModelAndView(
"
input
"
); } ...
바 인 딩 과 관련 된 것 이 라면, 예 를 들 어 검사 만 비어 있 으 면 다음 방식 으로 대체 할 수 있 습 니 다. Controller 에 추가 할 수 있 습 니 다.
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
@InitBinder
public
void
initDataBinding(WebDataBinder binder) { binder.setRequiredFields(
new
String[] {
"
name
"
}); }
오류 정보의 속성 파일 에 추가:
required = {0} 빈 produt. name = 이름 일 수 없습니다.
상기 두 가지 방식 은 공 통 된 속성 파일 설정 방법 을 사용 합 니 다. spring 설정 파일 에서:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
<
bean
id
="messageSource"
class
="org.springframework.context.support.ResourceBundleMessageSource"
>
<
property
name
="basenames"
>
<
list
>
<
value
>
errors
</
value
>
</
list
>
</
property
>
</
bean
>
jsp 페이지 에서 spring 의 form 탭 을 통 해 표시:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
<%
@ taglib prefix
=
"
form
"
uri
=
"
http://www.springframework.org/tags/form
"
%>
......
<%
@ taglib prefix
=
"
form
"
uri
=
"
http://www.springframework.org/tags/form
"
%>
......
또한, InitBinder 주석 에 파 라 메 터 를 추가 하지 않 으 면 모든 컨트롤 러 방법 이 호출 된 인삼 을 검사 합 니 다. 검사 할 필요 가 없 는 유형 이 있 을 수 있 습 니 다. 이 때 는 다음 과 같 습 니 다.
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
@InitBinder(
"
product
"
)
public
void
initDataBinding(WebDataBinder binder) { binder.setRequiredFields(
new
String[] {
"
name
"
}); }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.