13.1.7 如何产生一个弹出窗口

(根据选择不同单选框,弹出窗的内容不同)
  二种方法
方法一:将参数传递给弹出窗口的URL

window.open("popup.jsf?country="+ country[i].value, "popup",
                        "height=300,width=200,toolbar=no,menubar=no,"
                        + "scrollbars=yes");    

popup.jsf页面获取country请求参数的值,${param.country}
保存在param.country中。
<h:dataTable value="#{bb.states[param.country]}" var="state">
^*方法二:隐藏表
 <h:form id="hidden" target="popup">
       <h:inputHidden id="country" value="#{bb.country}"/>
//后面会自动提交隐藏表单,contry值会传到BackingBean了
        <h:commandLink id="go" action="showStates"/>
 </h:form>
document.getElementById("hidden:country").value = country[i].value;                    
 document.getElementById("hidden:go").onclick(null);

 <h:dataTable value="#{bb.statesForCountry}" var="state">
               <h:column>
                  <h:outputLink value="#"
                     οnclick="doSave('#{state}');">
                     <h:outputText value="#{state}" />
                  </h:outputLink>
               </h:column>
            </h:dataTable>
BackingBean.java部分代码如下:
 private String country = "USA";
 public String[] getStatesForCountry() { return (String[]) states.get(country); }
   static {
      states = new HashMap<String, String[]>();
      states.put("USA",
         new String[] {
            "Alabama", "Alaska"});

      states.put("Canada",
         new String[] {
            "Alberta", "British Columbia"});


附件:csdn空间6/testCoreJSF.rar


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值