지금은 URL에 게시 된 데이터를 가져 오는 데 단지 params
함수를 사용하고 있습니다.Scalatra에서 양식 제출을 처리하는 좋은 방법이 있습니까
Play Framework와 같이 Scalatra의 양식을 처리하는 다른 방법이 있습니까? Scalatra는 양식을 작성하고 자동으로 양식을 채우는 데 사용할 수있는 객체를 지원합니까?
지금은 URL에 게시 된 데이터를 가져 오는 데 단지 params
함수를 사용하고 있습니다.Scalatra에서 양식 제출을 처리하는 좋은 방법이 있습니까
Play Framework와 같이 Scalatra의 양식을 처리하는 다른 방법이 있습니까? Scalatra는 양식을 작성하고 자동으로 양식을 채우는 데 사용할 수있는 객체를 지원합니까?
Scalatra는 이러한 복잡한 기능을 제공하지 않습니다. 은 구현이 어려우므로의 복잡성은 함께 연주하는 당사자의 수에 따라 달라집니다.
우선 도메인의 개체를 나타내려면 Model
이 필요하고 Scalatra는 기본적으로 모델 라이브러리를 제공하지 않습니다. 그런 다음이 모델을 런타임에서 사용하여 HTTP 요청에 설정된 임의의 문자열을 일부 모델의 인스턴스로 변환합니다.
GET
이고 user.id
같은 파라미터를 지정하는 경우, 예를 들어 바인딩 소프트웨어는 ID가 데이터베이스에서 발견 User
타입의 객체에 문자열로 변환한다.POST
입니다 user.name
, user.password
및 user.birthday
같은 세 개의 매개 변수를 지정하고 이 user.id
지정하지 않는 경우, 런타임은 간단한 User.save()
으로 DB에 넣어 될 준비가 유형 User
의 객체를 구축 - 어떤 경우 User
클래스PUT
(또는 등가 Scalatra의 문서에서 설명)과 먼저 User
이 ID에 의해 검색된다 user.id
포함 user.birthday
후 그 생일이면, 검증을 통과한다면 구비 업데이트되고 마지막으로 사용 가능하게됩니다. 컨트롤러 O를 준비 User.save()
당신이 볼 수 있듯이, 이것은 런타임에 모델 라이브러리, 바인딩 도서관, 접착제의 지원을 필요로 호출합니다.
HTML 양식을 생성하려면 모델을 검사하고 HTML 비트를 출력 할 수있는 도우미 라이브러리가 필요합니다. 예를 들어, 라이브러리는 출력
, 입력의 이름으로<model>.<property>
을 사용하는 규칙에 따라,의
User
클래스를 검사는 세 개의 public 필드
name
,
password
및
birthday
을 가지고 있음을 감지하고
<form action="$$$$" method="$$$$">
<input name="user.name" />
<input name="user.password" />
<input name="user.birthday" />
<input type="submit" />
</form>
참고
일부 문맥, 당신은 너무 Scalatra 같은 작은, 편안하고 소프트웨어를 사용의 점은 무엇입니까, MVC 프레임 워크를 만들었 등?