2011-02-08 9 views
1

저는 JSF2 프로젝트를하고 있습니다.JSF에 대한 다양한 질문

1. 일부 체크 박스가있는 양식이 있습니다. 다음 코드

<ui:repeat> 
<h:selectManyCheckbox value="#{wagent.selectedPra}">... 
</h:selectManyCheckbox> 
</ui:repeat> 

를 봐 그래서 내가 UI 내부 selectManyCheckbox를 사용 : 반복하고 내가 원하는 그 같은 값으로 다른 selectManyCheckbox 포인트의 값입니다. 그러나 양식을 제출할 때 모든 선택된 상자가 없었습니다. 어떻게 할 수 있습니까?

2. 일부 입력이있는 양식이 있습니다. 내 행동에 나는 일부 PDF 파일을 병합하고 같은 페이지에 머물러 있고 병합 된 파일을 다운로드 할 수있는 팝업이 나타납니다.

3. 요청 범위를 가진 모든 관리 빈이 요청마다 또는 xhtml 페이지에서 사용 된 경우에만 생성됩니까?

4. 로그 아웃 할 명령 링크가 있습니다. 내 행동에 session.invalidate() 사용하고 "로그인"반환하십시오. 따라서 로그인으로 돌아가지만, 로그인 유효성을 검사 할 때, 세션 관리 빈은 생성되지 않은 것으로 보입니다. 오류는 yourSessionBean이 null 인 것과 같습니다. 뭐가 문제 야 ?

+0

나는 이런 종류의 다중 질문에 아무런 문제가 없지만 앞으로는 각각에 대해 별도의 질문을해야 할 것입니다. 이것이 바로 Stackoverflow가 기대하는 것입니다. 이렇게하면보다 세분화 된 검색 및 더 나은 일치가 가능하며 개별적으로 더 나은 대우를받는 문제를 처리 할 수 ​​있습니다 (예 : 중복 인 경우). – BalusC

+0

좋아요, 다음 번에 –

답변

2

1 : 반복하고 내가 원하는 같은 값으로 다른 selectManyCheckbox 점의 값 : 그래서 내가 UI 내부 selectManyCheckbox를 사용합니다. 그러나 양식을 제출할 때 모든 선택된 상자가 없었습니다. 내가 어떻게 할 수 있니?

대신 다른 값을 가리 키도록하십시오. 주어진 예제를 사용하면 빈 값은 매번 루프가 끝날 때까지 무시됩니다. 예를 들어, (당신의 질문 또는 어떤 Pra 수단)는 빈에서 List<List<Pra>>를 사용

<ui:repeat value="#{wagent.allSelectedPra}" var="selectedPra"> 
    <h:selectManyCheckbox value="#{selectedPra}"> 
     ... 
    </h:selectManyCheckbox> 
</ui:repeat> 

2 : 좀 입력과 양식을 가지고있다. 내 행동에 나는 일부 PDF 파일을 병합하고 같은 페이지에 머물러 있고 병합 된 파일을 다운로드 할 수있는 팝업이 나타납니다.

적어도 두 가지 일을해야 :

facesContext.getExternalContext().addResponseHeader("Content-Disposition", "attachment;filename=name.pdf"); // Force "Save As" dialogue. 
facesContext.responseComplete(); // Prevent JSF from taking response in hands. 

3 : 요청 범위가 모든 관리 콩은 각 요청에 대해하거나 내가 그들을 사용하는 경우 생성 하는가 xhtml 페이지?

모든 HTTP 요청마다 만들어집니다. 설명 범위는보기 범위에만 적용됩니다 (필자가 올바르게 이해하는 경우).

4 : 로그 아웃 할 명령 링크가 있습니다. 내 행동에 session.invalidate() 사용하고 "로그인"반환하십시오. 따라서 로그인으로 돌아가지만, 로그인 유효성을 검사 할 때, 세션 관리 빈은 생성되지 않은 것으로 보입니다. 오류는 yourSessionBean이 null 인 것과 같습니다. 뭐가 문제 야 ?

세션 범위 관리 빈에 잘못된 방법으로 액세스하고 있습니다.@ManagedProperty으로 주사하거나 Application#evaluateExpressionGet()으로 캡처해야합니다.

+0

에 갈 것입니다. 1. 어떻게 다른 값을 가리 키게 할 수 있습니까? 내가 얼마나 많은 루프를 만들 었는지 모르겠다. 4. 나는'h : commandButton action = "# {mySessionBean.login}"과 같이 세션 빈에 접근하고 에러를 던집니다. 세션 빈이 내가 로그 아웃했을 때 다시 생성되지 않았다고 생각합니다. –

+0

1의 경우 답변을 업데이트했습니다. 4에 대해서는 정확한 예외/오류 메시지를 알아야합니다. 이것은'yourSessionBean'이 실제로는 다른 bean의 프로퍼티라는 것보다 더 소리가납니다. – BalusC

+0

오늘은 게시 할 수 없습니다. 내일 정확한 오류를 게시 할 것입니다. 너 정말 도움이된다. 고마워. –