[Tapestry4] 点击链接弹出小窗口

bixuehengqing521 2008-05-09
我用For组件循环从数据库中读出数据(数据是个题目),并且每个数据都加上了链接,我想点击每个链接都弹出一个窗口,显示题目的内容  怎么实现?

我用了下面的代码,可是弹出窗口的内容都一样的,我测了一下,原因是id中的值是一样的  
html:

<script>
function showWin(url){
var screenwidth = screen.width;
var screenheight = screen.height;
var height = screenheight*0.6 + "px";           var width = screenwidth*0.6 + "px";
        window.showModalDialog (url, window, "dialogWidth="+width+";dialogHeight="+height+"; status = 0");
}
</script>

<table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">
<tr jwcid="notify">
    <td width=20% height="21"></td>
    <td  width="25%" height="21" align="left"><span class="hz">&middot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="hidden" jwcid="guId" name="guId"/>
      <a herf  onClick="showWin('app?service=page&page=PlacardContent&id='+guId.value.substring(1))" name='guId.value.substring(1)' onMouseOver="this.style.color='red'" onMouseOut="this.style.color='black'"><span jwcid="subject">优惠政策</span></a></td>
   <td  width="45%" height="21" align="center"><span jwcid="date">2008-08-08</span> </td>  
    </tr>
</table>

page:

<property name="currentNotify"/>
     <component id="notify" type="For">
        <binding name="source" value="notify"/>
        <binding name="value" value="currentNotify"/>
        <binding name="element" value="literal:tr"/>
    </component>
     <component id="subject" type="Insert">
        <binding name="value" value="currentNotify.subject"/>
    </component>
      <component id="date" type="Insert">
        <binding name="value" value="currentNotify.startDate"/>
    </component>
    <component id="guId" type="Hidden">
        <binding name="value" value="currentNotify.guId"/>
    </component>

java:
public List getNotify() {
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
         Query q=session.createQuery("select library from Library as library order by library.startDate desc");
q.setFirstResult(0); 
q.setMaxResults(10);
         List iterator=q.list();   
tx.commit();
HibernateUtil.closeSession();     
return iterator;    
}
tapestry 2008-05-10
使用contrib库中的PopupLinkRenderer,配置参考:
<bean name="renderer"
class="org.apache.tapestry.contrib.link.PopupLinkRenderer">
         <set name="windowName" value="literal:TapestryInspector"/>
         <set name="features">
             'titlebar,resizable,scrollbars,width=700,height=600'
         </set>
     </bean>

    <component id="link" type="DirectLink">
         <binding name="listener" value="listener:trigger"/>
         <binding name="stateful" value="false"/>
         <binding name="renderer" value="bean:renderer"/>
     </component>
Global site tag (gtag.js) - Google Analytics