我不知道我是否做错了什么,或者它可能是一个错误或什么。
我的设置包含 IntelliJ IDEA 12、JBoss AS 7.2.0.Final、Richfaces 4.3.4,位于 ear-Project(无 Maven)的 war-File 中。
我有这个索引页:
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich">
<rich:notifyMessage stayTime="3500" showShadow="true" showCloseButton="true" />
<f:view>
<h:head> <title> title </title> </h:head>
<h:body>
<!-- some more divs for page-design, but commented out at the moment -->
<div id="page">
<div id="index_workspace" style="width:1000px;margin:auto;">
<h:panelGrid columns="2" id="index_workspace_table">
<rich:panel id="index_workspace_navi_left" style="width:180px;min-height:600px;max-height:600px;">
<ui:include src="general/navi_left.xhtml"/>
</rich:panel>
<rich:panel id="index_workspace_content" style="width:550px; min-height:600px; max-height:600px;" rendered="#{not empty naviBean.content}">
<a4j:outputPanel id="index_workspace_content_ajax" ajaxRendered="true">
<ui:include src="#{naviBean.content}" id="current_site" />
</a4j:outputPanel>
</rich:panel>
</h:panelGrid>
</div>
<!-- some more divs for page-design, but commented out at the moment -->
</div>
</h:body>
</f:view>
</ui:composition>
在该部分中,我加载了带有表单和 RF 带来的所有其他很酷的东西的页面。但是我对加载页面的这一部分有渲染问题:
<rich:select id="someID_1" rendered="true" immediate="true" required="true" enableManualInput="true" defaultLabel="someLabel">
<a4j:ajax render="true">
<f:selectItems id="selectlist" value="#{BackingBean.SelectableItem-ListGetter}"/>
</a4j:ajax>
</rich:select>
我的问题出在:
此下拉列表仅在页面重新加载时呈现,例如 F5 或 CTRL-R 操作。我还可以观察到,如果我将此元素设置在某种“起始页”上(最初加载到 index.xhtml 上),它的渲染效果会非常好。在这种情况下,包含这种元素的每个其他页面也会正确呈现它。
我试过了
将 JSF 从 2.1 更新到 2.2.1——这只会带来更多问题——所以我将其回滚。
“标准” h:selectOneMenu 的行为相同。
rich:select 中的其他选项(例如:已渲染、立即、必需、...)
导航中的不同 ajax 命令(服务器、客户端、ajax,在不同级别)
几天以来一直在谷歌搜索 - 没有找到有用的提示
我会感激每一个能引导我走向正确方向的暗示,因为我有信心,我犯了一些我无法弄清楚的错误......
此外,我的导航看起来像这样(在 index.xhtml 的另一个 div 中):
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich">
<h:form id="navi_left">
<rich:panel>
<rich:panelMenu itemMode="ajax" groupMode="ajax" itemChangeListener="#{naviBean.updateContent}" >
<rich:panelMenuGroup itemLeftIcon="disc" label="Erfassung" name="#{naviBean.content}">
<rich:panelMenuItem label="someLabel_navi" name="path/to/page-not-getting-rendered-well.xhtml"/>
</rich:panelMenuGroup>
</rich:panel>
</h:form>
</ui:component>
希望这有助于帮助我。