2010-02-18 11 views
0

양식 제출에서 선택한 역할 정보를 읽으 려합니다 (역할 목록에서 사용자에 대해 역할이 선택됨). 당신은 SelectItem의 ArrayList에에 값/목록을 가리 키도록해야합니다라디오 버튼의 값을 읽는 방법

       <tr> 
            <s:div rendered="#{userHome.instance.type ne 'admin'}"> 
             <th width="150" class="rich-table-subheadercell center">#{_user.getName()}</th> 
            </s:div> 


            <c:forEach items="#{userHome.instance.roles}" var="_role"> 
             <td width="150" class="center" style="background: rgb(100, 100, 100) none repeat scroll 0% 0%;"> 
              #{_role.name} 
              <input type="radio" style="display : none" name="#{userHome.instance.id}" value="#{_role.id}"/> 
             </td> 
            </c:forEach> 
           </tr> 
+1

이것은 완벽하게 작동하지 않습니다. ** h : selectOneRadio (또는 다른 JSF 컴포넌트)를 사용하고 싶지 않은 이유를 자세히 설명해주십시오. 요구 사항에 어떻게 충분하지 않았습니까? 기능 부족과 기능 부족에 대해 자세히 설명하면 적절한 해결책/해결 방법을 제공 할 수 있습니다. – BalusC

답변

0

어떻게 EntityHome 인터페이스 (여기 selectOneRadio 옵션 : 나는 시간을 사용하지 않은 참고)에서 선택된 라디오 버튼의 값을 읽습니까 선택한 항목이 저장 될 곳이 있습니다.

+0

코드를 확인하고 질문을 읽었습니까? 'h : selectOneRadio'가 없으면 어떻게 할 수 있겠습니까? – BalusC

+0

방금 ​​선택한 값을 저장하기 위해 List를 사용해야한다고 지적했습니다. –

+0

이것은 단지 잘못되었습니다. OP는 하나의 값을 원합니다. 따라서이 경우에는 role을'Role' 또는'String'으로 지정하고 여기서'List'가 아닌 값을 가리켜 야합니다. 체크 박스가 있다면,'List'가 정확했을 것입니다. –

1

두 개의 댓글입니다.

우선. 가능한 경우 JSF 구성 요소를 사용하십시오.

둘째. JSTL 태그 사용을 피하십시오. 사용하지 않으려면 c:forEach을 제거하십시오. , ui:repeat로 교체 h:dataTable

이제 당신이 직접 자바 스크립트를 사용하여 다음 심에서 @WebRemote를 사용 당신이해야 할 것입니다 무엇 h:selectOneRadio

이다 사용하고,없는 경우 해결 방법에 대한 귀하의 질문에 대답하기 양식을 제출할 때 UserHome 구성 요소에서 Ajax를 통해 값을 설정할 수 있습니다.

Remoting 사용 방법에 대한 자세한 내용은 Seam Documentation에서 5. Remoting 장을 살펴보십시오.

관련 문제