일부 Richfaces 컴포넌트 (주로 extendedDataTable)의 기능을 대체하려고합니다.Richfaces 확장 컴포넌트
누군가 코드 예제를 사용하여 확장 한 구성 요소의 철저한 예를 제공 할 수 있습니까?
아래 스레드가이를 수행하는 방법을 알고 있지만 코드 예제는 매우 유용 할 것입니다.
확인
Extend Richfaces components - for example customize Datatable component for specific implementation
는 ..... 나는 인터넷을 트롤 어업을 봤는데,이 단계 간단한 예제로 명확한 단계의 전체를 많이 될 것 같지 않습니다.나는 다음과 같이 정의 ExtendedDataTableRenderer 렌더러를 만들었습니다 :
package com.test;
import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import org.richfaces.renderkit.html.ExtendedDataTableRenderer;
public class HtmlExtendedDataTableRendered extends ExtendedDataTableRenderer
{
@Override
public void encodeBegin(FacesContext context, UIComponent component) throws IOException
{
System.out.println("------- in HtmlExtendedDataTableRendered init() -----");
// TODO Auto-generated method stub
super.encodeBegin(context, component);
}
}
그리고 추가 한 다음 여기에 너무 :(
나는 지금까지 다음과 함께 넣어 관리 한 사건을 것 같다 내 얼굴-config.xml 파일에 다음과 같이
<render-kit>
<renderer>
<component-family>org.richfaces.ExtendedDataTable</component-family>
<renderer-type>org.richfaces.ExtendedDataTableRenderer</renderer-type>
<renderer-class>com.test.HtmlExtendedDataTableRendered</renderer-class>
</renderer>
</render-kit>
나는이 작동하는 것 같은 entendedDataTable 구성 요소가 페이지를 명중 할 때 (이 테스트 코드를 prining한다 콘솔로). 나는 extendedDataTable 구성 요소가있는 페이지를 입력 할 때
package com.test;
import java.io.IOException;
import javax.faces.context.FacesContext;
import org.richfaces.component.html.HtmlExtendedDataTable;
public class customExtendedDataTable extends HtmlExtendedDataTable {
/*
* The renderer type for this component.
*/
public static final String RENDERER_TYPE = "com.test.HtmlExtendedDataTableRendered";
public customExtendedDataTable() {
System.out.println("------- in customExtendedDataTable init() -----");
setRendererType(RENDERER_TYPE);
}
@Override
public String getFamily() {
return customExtendedDataTable.RENDERER_TYPE;
}
@Override
public boolean groupIsExpanded(int index)
{
System.out.println("------- in groupIsExpanded -----");
// TODO Auto-generated method stub
return super.groupIsExpanded(1);
}
@Override
public void encodeBegin(FacesContext context) throws IOException
{
System.out.println("------- in encodeBegin -----");
// TODO Auto-generated method stub
super.encodeBegin(context);
}
}
것도이 클래스 내에서 콘솔에 인쇄되지되어 다음과 같이
지금 나는 또한 HtmlExtendedDataTable 클래스를 확장했다.아무에게도 이것이 도움이되지 않는 이유에 대한 도움을 줄 수 있습니까?
감사
감사 BalsusC. 아마 그걸 작동시킬 정도로 충분할거야. 나는 그 변화를 만들고 taglib 링크를 살펴볼 것입니다. 내가 며칠 만에 돌아 가면 더 많은 질문을 할 수 있습니다.) –