2012-05-08 3 views
1

수업 중 숙제 점수를 수집해야합니다. InputText]를 : 나는JSF에서 관련 inputText의 정의되지 않은 숫자를 처리하는 방법

2A)는 시간을 표시 목록을 통해 각 학생의 ID를 내가 루프를 반복 : 내가 지금까지했던 것은

  1. 은 UI를 사용하여 학생 IDS
  2. 의 목록을 얻을 수있다 그 값이 현재 학생 ID 인 경우, 위의 (2a)의 텍스트 상자 오른쪽에

    2b)를 입력하면 교사에게 해당 학생의 점수를 입력하는 또 다른 h : inputText가 표시됩니다. 페이지를 표시하기위한 변수).

  3. 모든 데이터를 제출할 수있는 단일 명령 단추가 있습니다. 내가 20 명있는 경우

예를 들어, 내가, 20 행 것이다 각 행은 두 시간이 여기서 InputText]를, 하나 이미 포함 된 현재 student_id을하고 교사가 점수를 입력하는 다른 하나는 비어 있습니다.

올바른 학생 ID가 올바른 점수에 링크되도록 이러한 값을 올바르게 수집 할 수 있습니까?

클래스의 학생 수가 언제든지 변경 될 수 있으므로 텍스트 필드 수를 하드 코드 할 수 없습니다.

+0

http://stackoverflow.com/a/6743138/617373도 살펴보세요. http://www.primefaces.org/showcase/ui/datatableEditing.jsf;jsessionid=164B58A98A6016F43E86A846B0DB637D – Daniel

+0

다니엘에게 감사드립니다. 첫 번째 링크는 실제로 나에게 더 좋지만, 각 학생에게 2 세트가 있다고 생각하면됩니다. 어떻게 다른 배열을 사용하여 인덱스를 사용하여 동기화 할 수 있습니까? 나는 버튼을 제출할 때 # myBean.score [0]의 값이 첫 번째 sudent id에 대해 입력 된 값이라는 것을 어떻게 확인할 수 있는지를 의미합니다. 왜냐하면 나는 student_id/score를 입력해야합니다. 그래서 배치 SQL 삽입을 적절하게 구현할 수 있습니다. – obinini

+0

객체 배열 (또는 arraylist)을 가질 수 있으며, 각 객체는 2 문자열을 보유 할 것입니다. 예 : – Daniel

답변

2

모델 개체를 만듭니다.

public class Score { 

    private Long studentId; 
    private BigDecimal teacherScore; 

    // Getters/setters. 
} 

일부 JSF 관리 Bean에는이 목록이 있습니다.

private List<Score> scores; 

사용 <h:dataTable> 그들을 제시합니다.

<h:dataTable value="#{bean.scores}" var="score"> 
    <h:column><h:inputText value="#{score.studentId}" /></h:column> 
    <h:column><h:inputText value="#{score.teacherScore}" /></h:column> 
</h:dataTable> 
<h:commandButton value="Save" action="#{bean.save}" /> 
<h:messages /> 

그게 전부입니다.

+0

너무 많이 BalusC과 다니엘 감사합니다. u 남자는 최고 다. 당신의 아이디어는 저를 probem을 해결하는 데 도움이되었습니다. – obinini

관련 문제