2014-07-21 2 views
0

한 달 동안 모든 요일의 목록이 있고 캘린더로 인쇄하고 싶다고 가정 해 봅니다. 나는 다음과 같이 각 행에 일을 얻을 것이다, 나는 각 줄에 일주일 원하는 다음 행은 아래에있는 내 예제에서Datatable 각 행의 7 개 항목

휴식 : 칠일에 얻을 수있는 가장 좋은 방법입니다 enter image description here

JSF에서 이와 같은 각 행을? enter image description here

예제 코드 :

보기 :

<h:dataTable value="#{myController.dayList}" var="day"> 
      <h:column> 
       <h:outputText value="#{day}"/> 
      </h:column> 

</h:dataTable> 

Backbean : 당신이 당신의 프로젝트에 Primefaces을 사용하고자하는 경우

@ManagedBean(name = "myController") 
@SessionScoped 
public class MyController { 

    private List <int> dayList; 

    public MyController() 
    { 
     dayList = getAllDaysInMonth(); 
    } 

    public List <int> getAllDaysInMonth() 
    { 
    ..... 
    } 

    public List <int> getDayList() 
    { 
     return dayList; 
    } 

    public void setDayList(List <int> dayList) 
    { 
    this.dayList = dayList; 
    } 

} 

답변

1

,이 방법으로 그것을 할 수 .

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:p="http://primefaces.org/ui"> 
<body> 
    <p:dataGrid value="#{myController.dayList}" var="day" columns="7"> 
     <p:panel style="text-align: center; background-color: skyblue; width: 100px; height: 100px;"> 
      Day ${day} 
     </p:panel> 
    </p:dataGrid> 
</body> 
</html> 

컨트롤러 클래스

import java.io.Serializable; 
import java.util.ArrayList; 
import java.util.List; 

import javax.annotation.PostConstruct; 
import javax.enterprise.context.SessionScoped; 
import javax.inject.Named; 

@Named(value = "myController") 
@SessionScoped 
public class MyController implements Serializable { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    List<Integer> dayList = new ArrayList<>(); 

    public MyController() { 
    } 

    @PostConstruct 
    public void init() { 
     for(int i = 1; i <= 31; i++) { 
      dayList.add(new Integer(i)); 
     } 
    } 

    public List<Integer> getDayList() { 
     return dayList; 
    } 

    public void setDayList(List<Integer> dayList) { 
     this.dayList = dayList; 
    } 
} 

enter image description here

매우 좋지 않아 보이는,하지만 당신이 필요하지 않습니다.

패트릭

+0

감사합니다! 내가 primefaces를 사용하여, 당신의 솔루션은 위대한 작품! 다시 한 번 감사드립니다! –