结果演示: html: <script language='JavaScript' src='js/pass.js' type='text/JavaScript'></script> <span jwcid="@ChannelBorder"> <iframe jwcid="@Any" src="ognl:infoURL" scrolling="no" id="myTestFrameID" marginwidth=0 marginheight=0 frameborder=0 width="715" height="470"></iframe> </span> java: public HibernateTableQueryState generateQueryState(boolean isRequery) { DocChannelDocmentDAO dao = getDocChannelDocmentDAO(); HibernateTableQueryState queryState = new HibernateTableQueryState(); queryState.setIsRequery(isRequery); // 设定DAO queryState.setHibernateDAO(dao); String hql = dao.getHQL_All()+ " where docChannelDocmentHBM.docStatus='已发布' " + "and docChannelDocmentHBM.docChannel.docChannelId in (" + getChannelIds(getDocChannelId()) + ") order by docChannelDocmentHBM.isTop desc,docChannelDocmentHBM.docment.createTime desc "; // 设定查询语句 queryState.setHql(hql); // 设定查询结果的列表个数 queryState .setRowCountHql(dao.getHQL_RowCount() + " where docChannelDocmentHBM.docStatus='已发布' and docChannelDocmentHBM.docChannel.docChannelId in (" + getChannelIds(getDocChannelId()) + ") order by docChannelDocmentHBM.isTop desc,docChannelDocmentHBM.docment.createTime desc"); queryState.setHqlBuilder(getHqlBuilder()); queryState.setHibernateDAO(getDocChannelDocmentDAO()); return queryState; } page: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE page-specification PUBLIC "-//Apache Software Foundation//Tapestry Specification 4.0//EN" "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> <page-specification class="com.jbcom.support.cms.pages.ChannelList"> <inject property="docChannelDocmentDAO" object="spring:docChannelDocmentDAO"/> <inject property="docChannelDAO" object="spring:docChannelDAO"/> <property name="docChannelId" persist="client:page"/> <property name="hqlBuilder" initial-value="new com.jbcom.platform.sql.HqlBuilder()"/> <property name="docChannelDocmentHBM" initial-value="new com.jbcom.support.cms.hbm.DocChannelDocmentHBM()"/> <component id="table" type="jbcomgrid:JbcomListTable"> <binding name="row" value="docChannelDocmentHBM"/> <binding name="tableQueryState" value="tableQueryState"/> <binding name="tableConfigXml" value="literal:pages/cms/tablexml/DocChannelDetailPanelList1.table.xml"/> <binding name="pagesClass" value="literal:tablePagesClass"/> <binding name="columnsClass" value="literal:tableColumnsClass"/> <binding name="rowsClass" value="literal:tableRowsClass"/> <binding name="titleClass" value="literal:titleColumnValue"/> <binding name="pageSize" value="15"/> </component> </page-specification> 上面html显示的文章来源: // Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html // Decompiler options: packimports(3) fieldsfirst ansi // Source File Name: ChannelList.java package com.jbcom.family.pages; import org.apache.tapestry.*; import com.jbcom.family.pages.SysUtils; import com.jbcom.family.tapestry.Visit; import org.apache.tapestry.html.BasePage; import org.apache.tapestry.request.RequestContext; public abstract class NoBannerChannelList extends BasePage implements IExternalPage { public NoBannerChannelList() { } public void activateExternalPage(Object parameters[], IRequestCycle cycle) { Visit visit = (Visit) getPage().getVisit(); String channelName = cycle.getRequestContext().getParameter( "channelName"); visit.setChannelName(channelName); } public String getInfoURL() { Visit visit = (Visit) getPage().getVisit(); String channelName = visit.getChannelName(); String str = ""; if (channelName.equals("qygk1")) { str = "Family/qygk/" + channelName + "/ChannelIndex.html"; } else if (channelName.equals("qygk2")) { str = "Family/qygk/" + channelName + "/ChannelIndex.html"; } else if (channelName.equals("qygk3")) { str = "Family/qygk/" + channelName + "/ChannelIndex.html"; } else if (channelName.equals("qygk4")) { str = "Family/qygk/" + channelName + "/ChannelIndex.html"; } else if (channelName.equals("qygk5")) { str = "Family/qygk/" + channelName + "/ChannelIndex.html"; } else{ str = "Family/" + channelName + "/ChannelIndex.html"; } return SysUtils.getCMSURL() + str; } }