2011-01-20 6 views
1

사용자가 메시지를 게시 할 수있는 기능을 (더 큰 시스템의 일부로) 구현하려고합니다. 사용자가 게시 버튼을 클릭하면 RichFaces 및 a4j를 사용하여 생성 된 게시물을 ajax를 사용하여 검색합니다.a4j : repeat - 새 요소를 동적으로 추가합니다.

응답이 반환되면 자동으로 게시물이 표시되지 않습니다. 오히려 숨겨진 div 안에 출력 패널을 추가하고 싶습니다. 사용자가 게시 버튼을 클릭하면 해당 출력 패널이 채워지지만 사용자에게는 보이지 않게됩니다.

내가 원하는 것은 숨겨진 div의 새 요소를 jQuery를 사용하여 올바른 위치로 옮기는 것입니다.

어쨌든 여기서 문제는 a4j : ajaxKeys 속성을 사용하여 작업이 수행 될 때 단일 행을 업데이트하는 것입니다. 예를 들어 누군가가 5라는 등급을 부여하면 서버 측에서 올바른 키를 설정하여 해당 행만 다시 렌더링하려고합니다.

아약스가 작성한 요소를 다른 게시물과 함께 이동하면 처음에는 문제가 없지만 사용자가 해당 행에 대해 조치를 취하면 a4j : 반복을 수행 할 수 있다고 생각하지 않습니다. 자체적으로 생성되지 않는다는 점을 감안할 때 작업하십시오.

이 정보가 맞습니까? 그렇다면 누구나 제안 할 수있는 해결 방법이 있습니까?

페이스 북과 비슷한 것을 달성 할 수 있습니다. 게시물을 만들거나 삭제할 수 있으며 게시물에 댓글을 달고 해당 개체 만 업데이트 할 수 있습니다. 나는 a4j : repeat가이 문제에 접근하는 최선의 방법이 아닐 수도 있다고 생각하기 시작했다. 생각?

+0

왜 a4j : repeat가 여기 도움이되는지 왜 설명하지 않았습니까? 왜 작동하지 않습니까? –

+0

반복을 사용하면 전체 테이블을 새로 고치지 않고 새 요소를 추가 할 수 없습니다. – NRaf

답변

2

몇 시간 전에 비슷한 문제가있었습니다. 시도했지만 시도 할 수 없었습니다.

결국 자바 스크립트와 Seam Remoting을 사용하기 때문에 어떤 일이 일어나고 있는지 더 자세히 제어 할 수있었습니다. 나는 그 접근 방식으로 작동하도록 만들었다.

+0

어떻게 찾았습니까? Seam Remoting에 대한 우려는 모든 것이 클라이언트 측에서 일어나기 때문에 다시 전송되는 데이터의 양을 늘릴 수 있다는 것입니다. 아직도, 나는 그 길로 내려 가야 할 것처럼 점점 더 찾고 있습니다. – NRaf

+0

나는 내가 성취하려고 시도했던 것에 대해 괜찮 았어. 약간의 수작업을해야하지만 최소한 RichFaces 마법을 제거하여 어떤 일이 일어나는지에 대한 많은 제어권을 얻을 수 있습니다 :) 클라이언트에게 많은 것을 보낼 필요는 없습니다. , 단지 새로운 코멘트 no? 계속 대화 범위를 사용할 수 있으므로 모든 것을 앞뒤로 보낼 필요가 없습니다. 여기에 뭔가 빠졌을 수도 있지만 왜 모든 것을 서버로 다시 보내야하는지 알지 못합니다. – Tiago

관련 문제