x:repeat 조치는 JavaBeans™의 반복되는 특성에서, 특히 결과 세트의 행 또는 열에서 반복하는데 사용됩니다. x:repeat 본문에 있는 조치 및 HTML은 반복마다 한 번씩 처리됩니다.
DBSelect 또는 DBProcedureCall Bean과 Bean의 반복 특성을 지정하여 이 Bean에 대해 반복되도록 하거나 index 변수의 start 및 end 값을 지정하거나, 둘 다 지정하여 반복 횟수를 제어할 수 있습니다.
index 변수를 내포하거나, 이 변수에 대해 이름을 지정하고 scriptlet이나 x:repeat 본문 내에 다른 JSP SQL 조치에서 명시적으로 사용할 수 있습니다. index 색인이 내포되어 있거나 명시적으로 사용되는지 여부에 관계없이, 이는 x:repeat 본문의 JSP SQL 조치에서 행, 열 또는 매개변수를 식별하는 특정 속성에 대해 기본값으로 사용됩니다. 이에 대한 세부사항은 아래 표를 참조하십시오.
start 및 end 값을 지정하고 명시적 index 변수를 지정할 경우, index 변수를 사용하여 Select 또는 ProcedureCall만이 아니라 모든 오브젝트에 대해 반복할 수 있습니다.
x:repeat 조치를 중첩할 수 있습니다. 예를 들어, 외부 x:repeat를 사용하여 결과 세트 행에 대해 반복하고 내부 x:repeat를 사용하여 각 행의 열에 대해 반복할 수 있습니다.
<x:repeat name = "target bean name" over = "rows|columns|nothing" index = "name" start = "starting_index" end = "ending_index > </x:repeat>
x:repeat 조치에는 다음과 같은 속성이 있습니다.
x:repeat 본문에 이름이 지정된 Bean이 아닌 다른 Bean을 대상으로 하는 조치를 놓을 수도 있습니다. 동일 값을 사용하여 행, 열 또는 다른 Bean의 다른 반복 특성으로 색인화할 수 있는 경우에만 이렇게 해야 합니다. x:getColumn 또는 x:updateRow와 같은 조치의 경우, 기본값을 사용하도록 하기 보다는 조치에서 다른 Bean의 이름을 제공해야 합니다.
이 x:repeat의 index 변수 값 범위는 반복 특성의 첫 번째 발생에서 마지막 발생까지가 됩니다. index 변수는 또한 x:repeat 본문 내에서 JSP SQL 태그의 다음 속성에 대한 기본값이 됩니다.
over의 값 | JSP SQL 태그 | 속성 | Index 범위 |
---|---|---|---|
rows | <x:updateRow> <x:deleteRow> <x:insertRow> <x:getColumn> <x:setColumn> |
row | 1 - 행 수(1과 행 수도 포함) |
columns | <x:getColumn> <x:setColumn> |
index | 1 - 열 수(1과 열 수도 포함) |
조치에 자체의 name 속성이 없고 상위 x:repeat에서 name 속성을 계승하지 않을 경우, index 변수는 계속 x:repeat 본문 내에서 속성의 기본값 역할을 하지만, x:repeat 태그에서 end 속성을 명확히 지정하여 index의 end 값을 판별해야 합니다.
over 값이 rows이고 name 속성이 DBProcedureCall bean을 식별할 경우, DBProcedureCall Bean의 현재 결과 세트 행에 대해 반복이 발생합니다. 이 경우, x:repeat 본문 내에서 다른 결과 세트로 이동하지 마십시오. 이렇게 하면 index 변수의 범위가 동적으로 변경되기 때문입니다.
이 이름으로 작성된 변수 유형은 정수가 됩니다. 이 변수를 scriptlet에서 사용할 경우, 이 변수를 사용하는 컨텍스트에서 정수가 유효한지 확인하십시오. 예를 들어, DBSelect Bean의 setCurrentRow() 메소드에서는 Integer가 아닌 int 변수가 필요합니다. 그러나 x:getColumn과 같은 다른 JSP SQL 조치에서 이 변수를 사용할 경우에는 데이터 유형에 주의하지 않아도 됩니다.
end 속성은 "inclusive" 한계를 지정합니다. 이는 해당 값이 반복이 수행되는 마지막 값임을 의미합니다. (end 속성 값이 start 속성 값보다 작으면 반복이 수행되지 않습니다.) 유효한 값은 정수 0 이상입니다.