禁用jsf标记

时间:2012-01-08 06:04:25

标签: html jsf

我需要帮助才能在不使用javascript的情况下禁用此链接。所以这是一个jsf页面,其中bean将变量设置为false,然后取消不应该是可压缩的。

             <p:column style="width:14%; text-align: center;">  
                    <f:facet name="header">  
                        <b><h:outputText value="Action" />  </b>
                    </f:facet> 
                     <a href="cancel.xhtml?id=#{requestClass.requestID}">
                        <h:outputText value="Cancel" />  
                     </a>

                </p:column>  

提前致谢!

更新

       <p:column style="width:14%; text-align: center;">  
                    <f:facet name="header">  
                        <b><h:outputText value="Action" />  </b>
                    </f:facet> 
                    <h:link disabled="#{requestBean.cancelledStatus}" 
         outcome="cancel.xhtml?id=#{requestClass.requestID}" value="Cancel">
                         <f:param name="id" value="#{requestClass.requestID}" />
                    </h:link>


                </p:column>  

即使请求状态被取消,在页面加载时也没有实际禁用按钮

更新2: 更新为以下时显示此错误:

<h:commandButton value="Cancel" action="cancel.xhtml?id=#{requestClass.requestID}" 
 disabled="#{requestBean.cancelledStatus}">
                        <f:param name="id" value="#{requestClass.requestID}" />
                    </h:commandButton>

它说:

/pending.xhtml @86,150 action="cancel.xhtml?id=#{requestClass.requestID}" Not a Valid 
Method Expression: cancel.xhtml?id=#{requestClass.requestID}

1 个答案:

答案 0 :(得分:1)

您应该使用JSF的<a>,而不是使用普通的HTML标记<h:link>。此标记具有可用于禁用链接的属性disable。在你的情况下,它应该是这样的:

<h:link disable="#{requestClass.disableCancelLink}" outcome="cancel" value="Cancel">
   <f:param name="id" value="#{requestClass.requestID}" />
</h:link>