当faces-config中没有匹配的导航用语时,你知道是否有一个选项可以将commandbutton设置为disabled =“true”?
当时我正在学习JSF编写应用程序。该应用程序包含各种页面。我使用默认模板插入navigatontemplate。
这是我的导航模板
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">
<ui:insert name="navigation">
<nav>
<h:panelGroup>
<h:form>
<h:commandButton value="GO BACK" styleClass="button" action="GOBACK"/>
<h:commandButton value="Reset" pt:type="Reset" styleClass="button" action="RESET"/>
<h:commandButton value="GO FORWARD" action="GOFORWARD" styleClass="button"/>
</h:form>
</h:panelGroup>
</nav>
</ui:insert>
</ui:composition>
现在在faces-config中我有一些导航规则,例如:
<navigation-rule>
<display-name>firstPage.xhtml</display-name>
<from-view-id>/firstPage.xhtml</from-view-id>
<navigation-case>
<from-outcome>GOFORWARD</from-outcome>
<to-view-id>/secondPage.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
现在我想在用户位于第一页时禁用GOBACK-Button(而faces-config.xml中没有导航规则)。
有人知道怎么做?
感谢。
答案 0 :(得分:1)
我现在找到了一个有效的解决方案:
<h:commandButton value="GO BACK" styleClass="button" disabled="#{view.viewId=='/firstPage.xhtml'} action="GOBACK"/>
EL-expression view.viewId返回用户正在访问的页面。