2011-07-05 2 views
0

Java 용 API를 처리하는 매우 간단한 양식을 찾고 있습니다. 입력 필드는 빈 속성에 해당하고, 모든 콩 javax.Validation 주석이 양식을 가정하면, 이상적으로 API는 다음과 같습니다Java 용 단순 양식 처리 API

  • 표시 HTML 형식
  • 같은 콩이 해당되는 경우 중첩 된 개체를 포함하여 콩 채우기, 요청 매개 변수 사용
  • 유효성 검사 주석을 사용하여 입력 유효성 검사
  • 오류가있는 경우 양식 맨 위에 오류를 표시하고 오류 필드를 강조 표시하십시오. 또한

:

  • 내가 전체 응용 프로그램 프레임 워크에 구입하지 않은 경우 내가 레거시 응용 프로그램과 함께 작업하고 있기 때문에 그것은 좋은 것입니다.
  • 더 복잡한 사용 사례에 대한 구성을 허용하지만 기본적으로 규칙을 사용합니다.

보너스 :

  • 너무 자바 스크립트 클라이언트 측 유효성 검사를 생성합니다.

참고 : 여러 라이브러리가 필요한 경우에도 마찬가지입니다.

업데이트 :

내가 찾고, 그리고 봄으로 마이그레이션 내가 나서서 내 자신의 솔루션을 압연, 옵션 아니었다 것을 발견되지 않았다 때문에. 그것은 다정하게, java in jails (느슨하게 모델링 된 레일 폼 처리)입니다. 간단하고 (그리고 예쁜) 폼 생성, 클라이언트와 서버 측 검증, 객체 매핑에 대한 매개 변수 요청을 제공합니다. 구성이 필요하지 않습니다.

예 콩 :

public class AccountForm { 
    @NotBlank(groups = RequiredChecks.class) 
    @Size(min = 2, max = 25) 
    private String name; 
//... 
} 

예 형태 :

<%@ taglib uri="http://org.jails.org/form/taglib" prefix="s" %> 
<s:form name="accountForm" action="/jails-demo/jails" label="Your Account Details" style="side"> 
    <s:text name="name" label="Name" size="25" /> 
    <s:text name="accountName" label="Account Name" size="15" /> 
    ... 
</s:form> 

예 검증 및 매핑 :

SimpleValidator validator = new SimpleValidator(); 

if ("submit".equals(request.getParameter("submit"))) { 
    Map<String, List<String>> errors = validator.validate(AccountForm.class, request.getParameterMap()); 

    if (errors != null) { 
     AccountForm account = validator.getMapper().toObject(AccountForm.class, request.getParameterMap()); 
     //do something with valid account 
    } else { 
     SimpleForm.validateAs(AccountForm.class).inRequest(request).setErrors(errors); 
     //handle error 
    } 
} else { 
    SimpleForm.validateAs(AccountForm.class).inRequest(request); 
    //forward to formPage 
} 

이 양식 jQuery를 사용하여 클라이언트 측 유효성 검사와 함께 모습입니다 (Position Absolute에 의해 제공됨) :

+0

우리는 일반적으로 위와 같은 완벽한 솔루션을 제공하지 않습니다. 왜 "양식"을 개발하기 시작하면 더 구체적인 코딩 질문이있을 때 더 많이 도울 수 있습니까? – CoolBeans

+0

제안 해 주셔서 감사합니다. 실제로 코딩 도움말을 찾지 않아서 기존 솔루션을 찾고있었습니다. –

답변

1

나는이 기능이 대부분이고 프레임 워크가 아닌 것을 발견 할 것이라고 생각하지 않습니다.

Spring MVC를 권장 할 수 있습니다. 기존의 응용 프로그램에서 쉽게 플러그인 할 수 있습니다. 위의 모든 것을 지원합니다.

수행 - 그것 - 자신이되지 않습니다 하드 중 하나를 요청하여 객체를 채우기 위해

  • 사용 BeanUtils.populate(bean, request.getParameterMap()) 수동
  • 사용 javax.validation.* 매개 변수 - here is how합니다. 각 오류에 대해 나중에 오류로 표시 할 수있는 요청 속성을 추가하십시오.

수동으로 html 코드를 작성해야합니다.

+0

BeanUtils.populate (bean, request.getParameterMap()) ... 전투 절반입니다. 그것은 String-> Primitive-> String을위한 주식 변환기를 가지고 있나? 아니면 당신 자신의 것을 써야합니까? 불행하게도, HTML을 쓰는 것은 나 자신을 할 필요가없는 주변에서 벗어나려고 노력하는 것에 가장 관심이 있었던 다른 것입니다! –

+0

그걸로 채워라. 모든 표준 사용 사례에 대한 재고 변환기가 있으며 필요에 따라 직접 사용할 수 있습니다. 다시 한 번 감사드립니다! –