我正在使用这个库:
- JSF 2.0.8 (MyFaces)
- Richfaces 4.5.7
我有这个代码测试导航与<a4j:commandButton>
组件:
<f:view>
<h:form id="form_citas_uno">
<h:panelGrid id="pnlBtnes">
<a4j:commandButton id="cb_agendar_id" value=" "
styleClass="btnNuevoAgendamiento"
action="irAgendarCita" >
</a4j:commandButton>
<a4j:commandButton id="cb_agendar_id2" value=" "
styleClass="btnNuevoAgendamiento"
action="irAgendarCitaAfiliado" >
</a4j:commandButton>
</h:panelGrid>
</h:form>
</f:view>
结果irAgendarCita
的导航规则为:(适用于Firefox和Chrome)
<navigation-case>
<from-outcome>irAgendarCita</from-outcome>
<to-view-id>/jspx/agendamiento/externo/datosCita.jspx</to-view-id>
</navigation-case>
结果irAgendarCitaAfiliado
的导航规则为:(适用于所有浏览器)
<navigation-case>
<from-outcome>irAgendarCitaAfiliado</from-outcome>
<to-view-id>/jspx/agendamiento/afiliado/datosCitaAfiliado.jspx</to-view-id>
<redirect/>
</navigation-case>
仅<redirect/>
差异
导航对Firefox和Chrome都有效,但对于Internet Explorer,第一个(iragenda)会抛出一个错误:
SCRIPT5007: Object expected
File: jsf.js.jspx, Line: 6631, Column: 13
这是正常的行为吗?
我将不得不改变我所有的a4j:commandButtons执行导航?
我将不得不改变我所有的导航规则?
注意:我是从jsf 1.2迁移过来的,这个a4j:commandButtons在以前的版本中工作得很好。
我在3.3的文档中发现了这个注释。richfaces的X版本
Common JSF导航可以在Ajax提交和之后执行部分呈现,但导航用例必须定义为<redirect/>
为了避免某些浏览器出现问题。
我假设这个问题在版本4中仍然存在。
当我需要前进导航时,我正在替换<h:commandButton>
的按钮