2008-11-12 4 views
1

나는 스트럿츠에 경험이 있고, 타일을 가지고 잠깐 실험했다. 레이아웃 내에서 각 타일은 별도의 JSP 페이지라는 것을 알고 있습니다. 네 개의 타일 각각에있는 버튼을 누르면 각 타일이 (간접적으로) 다른 웹 서비스를 호출한다고 가정합니다. 결과가 다른 시간에 들어 와서 타일이 비동기식으로 새로 고쳐 지겠습니까?Struts 타일 - 각 타일은 비동기입니까?

답변

1

나는 백그라운드에서 코드에 의존 할 것이라고 생각한다. 타일이 간접적으로 웹 서비스를 호출한다고합니다. 당신이 그렇게하지 않도록 코드에서 지정하지 않으면 비동기 적으로 새로 고침을한다고 생각합니다. 버튼 1을 누르고 버튼 2를 누르십시오. 액션 1이 돌아오고 코드가 화면을 업데이트해야하며 페이지가 새로 고침되어야한다고 표시됩니다. 액션 2가 다시 시작되면 코드가 화면을 다시 업데이트합니다. 나는 이것이 그것이 어떻게 작동하는지에 관해 믿는다. 그러나 결코 그것을 시험해 보지 않고 있었다, 나는 확신 할 수 없다.

버튼이있는 두 개의 바둑판 식 테스트 페이지를 함께 던져보고 사용해 보는 것이 어떻습니까? 그렇게하면 확실한 답을 얻을 수 있습니다.

4

타일은 단지 하나의 HTML 페이지 조각입니다. 수동으로 추가하지 않으면 아약스에 대한 개념이 없습니다. 그러므로 : 한 페이지에서 4 개의 버튼을 누르면 모든 HTML 페이지에서 4 개의 링크를 클릭하는 것과 같습니다. 브라우저는 해당 요청을 서버로 보냅니다. 서버가 매우 빨리 응답하면 두 번째 단추를 누를 시간조차 없을 것입니다. 속도가 느릴 때 첫 번째 요청 (브라우저에서 서버로)은 취소되고 두 번째 (세 번째, 네 번째) 요청이 전송됩니다 (다음 버튼을 누르면 취소됩니다).

나머지는 백엔드 구현에 따라 달라집니다. 서버는 4 개의 요청 중 3 개에 대해 데이터를 다시 보낼 수 없다는 것을 알게됩니다. 마지막 (공개) 응답에서 제공/표시되는 내용은 구현에 따라 다릅니다. 웹 서비스 응답을 보유하는 서버 측 상태가있는 경우 4 개의 결과가 모두 표시 될 수 있습니다. 하나의 웹 서비스가 아직 반환되지 않은 경우 3 개의 결과와 하나의 오래된 타일 만 표시 될 수 있습니다.

관련 문제