2013-10-15 3 views
1

페이지가 성공적으로 완료 될 때마다 Ajax 호출을 통해 로드 된 함수를 jsp 페이지에서 호출하려고합니다. 아래 고려 :Struts2 성공적으로로드 된 Ajax 호출을위한 jQuery 플러그인 주제

|Main.jsp--------------------------------------| 
|   Link A Link B Link C   | 
|            | 
|   -<div id="content">----------  | 
|   |       |  | 
|   |       |  | 
|   |       |  | 
|   |       |  | 
|   ----------------------</div>-  | 
|            | 
|----------------------------------------------| 

링크의 각 LinkA.jsp를 호출, LinkB.jsp 및 LinkC.jsp 그리고 링크는 다음과 같습니다 :

<sj:a href="%{urlA}" targets="content">LinkA</sj:a> 
<sj:a href="%{UrlB}" targets="content">LinkB</sj:a> 

하는해야 일반적인 자바 스크립트 기능이 있습니다 jsp 파일이로드 될 때 호출됩니다. initial.js에 이러한 일반 파일을 작성하여 모든 JSP 페이지에 추가 할 수 있습니다.

<script type="text/javascript" src="<s:url value="initial.js" />"></script> 

모든 JSP 파일

는 양식을 포함하고 나는 어떤 것을 아래와 같이 모든 입력에 공통 기능을 조작 할 :

$(document).ready(function() { 
    $("input").changeEncodingInput(); 
}); 

내가 Main.jsp에이 코드를 추가하면 changeEncodingInput 것 LinkB.jsp 및 LinkC.jsp를로드 할 때 적용되지 않음

하지만 더 나은 방법이 있어야한다고 생각합니다.

Main.jsp에 initial.js 파일을 추가하고 모든 페이지에서이를 반복하지 않습니다.

struts 2 jquery 플러그인이 Ajax 이벤트를 내부적으로 관리하는 것으로 보입니다. 주제가 내부적으로 게시 될 수 있으며 구독 할 수 있습니까?

어떤 아이디어?!

+0

그래서 main.jsp에 스크립트를 추가하지 않으시겠습니까? –

+0

@AleksandrM 질문을 업데이트했습니다. 검토하시기 바랍니다. 문제는 모든 jsp 파일의 모든 입력에 적용해야하는 공통 함수가 있지만 main.jsp에 추가 할 때 함수가 새로로드 된 JSP 파일에 적용되지 않는다는 것입니다. –

+0

jQuery'.on'을 사용하십시오. –

답변

1

몇 가지 리뷰를 통해 나는 아래에 main.jsp를 추가함으로써 최상의 솔루션을 얻을 수 있다는 것을 발견했다. 프레임 워크가 이벤트를 게시했지만 프레임 워크가 나중에 지원할 것이라는 희망을 찾을 수 없었습니다.

$(document).ajaxStop(function() { 
    $("input[lang='fa']").changeEncodingInput(); 
}); 

@Aleksandr에게 감사드립니다.