My previous for the same problem 이제는 동일한 상황에서 몇 가지 해결책/제안을 찾고 있습니다.조건부로 렌더링 된 UICommand 구성 요소의 동작 메서드를 호출하는 방법은 무엇입니까? - 2
내 제한
- 내 콩 요청이
- 내가 토마 호크를 사용할 수 없습니다를 범위로 가지고 있습니다 - 그래서 우리는 사용할 수 없습니다 어쩌구 저쩌구 - 우리는 바람둥이 + SOA 기반으로 사용자 정의 응용 프로그램 서버를 사용합니다.
각 검색 기준에 따라 검색 결과 모음이 달라집니다 (사용자가 동일한 브라우저에서 diff 탭을 사용하여 결과를 비교하거나 다른 작업을 수행하기를 원하는 경우) 싶어). prev + next와 같은 페이지에 검색 결과를 표시하고 싶습니다. 이 같은
대신 모든 '다음'을 클릭에 대한 데이터베이스를 타격, 나는이
public static Object getSessionMapValue(String key) {
Log.debug(CLASS_NAME + "getSessionMapValue: key=" +key);
return FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(key);
}
public static void setSessionMapValue(String key, Object value) {
Log.debug(CLASS_NAME + "setSessionMapValue: key=" +key);
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(key, value);
}
내 질문
같은 세션에 저장하고 싶었<tr>
<td colspan="14" class="WhiteRowSmallText">
<div align="right">
<h:commandLink rendered="#{adminBean.showPrev}" action="#{adminBean.goPrev}">
<h:outputText> < Prev  | </h:outputText>
</h:commandLink>
<h:outputText>  |  </h:outputText>
<h:commandLink rendered="#{adminBean.showNext}" action="#{adminBean.goNext}">
<h:outputText> Next ></h:outputText>
</h:commandLink>  
</div>
</td>
</tr>
은 다음과 같습니다
하는 경우 이 방법을 사용하여 엄청난 수의 검색 결과를 저장합니다. 사용자가 다른 탭을 열면 계속 사용할 수 있습니까? 나는 그렇게 생각한다 - 그렇지 않습니까?
결과가 더 많으면 '다음'을 시도했는데 새 Bean이 생성되어 (!) showNext를 'false'로 설정했기 때문에 조치 방법도 호출하지 않았습니다. 사용자에게 허용 할 수있는 옵션은 무엇입니까? 위의 내 제한 사항을 고려하여 페이지를 탐색 하시겠습니까?
링크를 클릭하고 CustomPhaseListener 및 RESTORE VIEW PHASE에서 숨겨진 Bean 변수를 사용하고 javascript를 통해 'true'로 설정하면이 숨겨진 값에 따라 showNext를 'true'로 설정할 수 있습니까? ? 그것은 가치있는 접근 방식입니까?
모든 scoldings 및 제안을 환영합니다. 내가 검색의 거대한 숫자를 저장하기 위해이 방법을 사용하는 경우
당신이 inputHidden를 사용하는 경우, 당신은 ClassCast 예외가 발생할 수 있습니다, 나는 확실하지 아직이 같은 노력하고이
public Boolean getShowNextValue() { if(showNext != null && showNext.getValue()!= null) { log.debug("showNext.getValue() ]" +showNext.getValue()); if(((String)showNext.getValue().toString()).equals("false")) { return false; }else{ return true; } }else{ return false; } }
+1 중화. – gekrish
구성 요소가 인스턴스화되어 있어야합니다. 그에 따라 코드 예제를 수정했습니다. Btw : 네가 언급 한 'ELException'은 근본 원인으로 NullPointerException을 가져야한다. – BalusC
오, 당신이 당신의 코멘트를 삭제 :) 만약 당신이 행운을 가지고 알려주십시오. – BalusC