2012-09-24 2 views
1

Jquery에서 Bean을 호출 할 수 있습니까? 내 요구 사항은 아래와 같습니다.Jquery에서 Bean 메서드 호출

JSF 1.2 기반 서블릿이 있습니다.

사용자가 잠시 동안 유휴 상태이면 세션이 무효화됩니다. 세션을 무효화하기 1 분 전에 Jquery 대화 상자가 표시됩니다. 대화 상자에는 두 가지 옵션이 있습니다. "예, 계속하고 싶습니다."세션을 연장 할 것입니다. "로그 아웃하고 싶습니다."는 사용자를 로그 아웃합니다.

"로그 아웃하고 싶습니다."를 클릭하면 데이터베이스를 업데이트하는 bean 메소드를 호출하려고합니다. & 세션을 무효화합니다. 다음은

'No, Log out': function(){ 
$j.idleTimeout.options.onTimeout.call($j.post('//This is where am stuck',function() 

내가 좀 내 빈에서 활동을 정리 할 수 ​​있도록 $의 j.post에서 빈을 호출 할 코드입니다.

어떻게 수행 할 수 있습니까? 당신은 직접 방법에 액세스 할 수 없습니다

+0

유사하여 JSF 페이지에서 서블릿을 호출 할 수 있습니다? – BalusC

+0

@BalusC : 사용자가 "예, 계속하겠습니다"를 클릭하면 하나의 JSP 페이지 (extend_session.jsp)를 호출합니다. 이 JSP 페이지에는 그 안에 아무것도 없다. 따라서이 JSP 페이지가 세션 무효화 트리거 이전에 사용자에 의해 눌려지면 세션이 확장됩니다. 이 방법으로 사용자는 계속 찾아 볼 수 있습니다. 사용자가 "예"를 클릭하지 않으면 1 분 동안 세션이 무효화되고 사용자는 로그인 페이지로 리디렉션됩니다. –

+0

대화가 세션 무효화 1 분 전에 표시되었다고하셨습니다. 대화가 1 분 이상 * 표시된 경우 (예 : 최종 사용자가 점심이나 화장실 또는 담배를 피웠다는 이유로) 세션이 서버에서 이미 무효화되었습니다 (적어도 그 사실을 암시하고 있음). – BalusC

답변

1

당신을 서블릿 요청을 처리하고 당신을위한 메서드를 호출하고, 예를 들어 JSON 형식으로 데이터를 반환해야합니다 액션이 콩의 방법 가리키는 숨겨진 (style="display:none")있는 명령을 사용하여 바로 사용하고, JQuery와에서에

<h:commandButton id="myButton" action="#{myBean.myInvalidateMethod}" style="display:none"/> 
같은

뭔가를 .click()를 호출 할 수 있습니다

JQuery와

&("#myButton").click();//possible myForm prefix appear before the id so use #myForm\\:myButton selector 

하거나 최종 사용자가 클릭 "예"* 후 * 대화 상자가 1 분 동안 표시되어 무엇 경우이 답변 Calling a Servlet from a JSP page using jQuery Ajax