tomahawk涓巘rinidad鎻愪緵浜嗕赴瀵岀殑鎺т歡錛屼絾鏄綋榛樿鍛堢幇鍣ㄨ緗垚org.apache.myfaces.trinidad.core鏃訛紝tomahawk涓殑dataScroll涓嶈兘姝e父宸ヤ綔銆傚鏋滀笉璁劇疆榛樿鍛堢幇鍣紝trinidad鍙堜笉鑳藉伐浣滐紝鎵浠ヨ繖鏄釜鐭涚浘錛岄渶瑕佽窡韙唬鐮侊紝浣胯繖涓や釜浼樼鐨勫紑婧怞SF鎺т歡闆嗚兘寰堝ソ鐨勫叡瀛樸?/p>
瑙e喅鏂規硶錛氬湪eclipse涓鍏rinidad-1.0.2鐨勬簮鐮侊紝淇敼鍖卭rg.apache.myfaces.trinidadinternal.renderkit.htmlBasic涓殑HtmlCommandLinkRenderer.java銆?/p>
public class HtmlCommandLinkRenderer extends Renderer
{
...
private Renderer renderer = null; //澧炲姞鍛堢幇鍣ㄦ帴鍙f垚鍛樺彉閲?/p>
....
//澧炲姞encodeBegin鍑芥暟
@SuppressWarnings("unchecked")
@Override
public void encodeBegin(FacesContext context,
UIComponent component) throws IOException
{
// The tr:commandLink is not a rendersChildren component,
// but h:commandLink is. Hence, the difference in behavior
renderer = createRenderer(component);
renderer.encodeBegin(context, component);
for(UIComponent child : (List<UIComponent>)component.getChildren())
{
RenderUtils.encodeRecursive(context, child);
}
}
...
//淇敼encodeEnd鍑芥暟涓哄綋鍓嶄唬鐮?br />
@SuppressWarnings("unchecked")
@Override
public void encodeEnd(FacesContext context,
UIComponent component) throws IOException
{
// The tr:commandLink is not a rendersChildren component,
// but h:commandLink is. Hence, the difference in behavior
if(renderer==null)
{
renderer = createRenderer(component);
renderer.encodeBegin(context, component);
for(UIComponent child : (List<UIComponent>)component.getChildren())
{
RenderUtils.encodeRecursive(context, child);
}
}
renderer.encodeEnd(context, component);
}
...
}