我的页面左侧是菜单,右侧是内容 左侧菜单中的每个commandLink都会更改内容的片段并激活更新当前用户详细信息的功能(每个):
在profile.xhtml中: in ui:composition tag。
<ui:define name="menuLeft">
<div id="Div2" style="width:172px; padding: 0; font-size: 10px; float:left">
<ui:include src="/users/sections/profile/profileleft.xhtml"/>
</div>
</ui:define>
<ui:define name="content">
<div id="Div3" style="background-color:white; width: 708px; height:1208px; padding: 0; font-size: 12px; float:left">
<ui:include src="/users/sections/profile/content.xhtml"/>
</div>
</ui:define>
<ui:define name="menuRight"/>
在content.xhtml中: in ui:composition tag。
<h:panelGroup id="profileContentSnippet" >
<ui:include src="#{snippetsProfileLinkerBean.snippetFileName}"/>
</h:panelGroup>
在profileleft.xhtml中 in ui:composition tag。
<ui:include src="/users/source/profile/leftMenu/menu.xhtml"/>
menu.xhtml中的: in ui:composition tag。
<h:commandLink value="ViewProfilePersonalDetails" action="#{usersController.prepareConnected}">
<f:param name="pageViewId" value="ViewProfilePersonalDetails"/>
<f:ajax render="main:profileContentSnippet" />
</h:commandLink>
在editPersonalDetails-snippet.xhtml中: in ui:composition tag。
<h:outputText value="#{bundle.ViewUsersLabel_userID}"/>
<h:outputText value="#{usersController.selected.userID}" title="# {bundle.ViewUsersTitle_userID}"/>
<h:commandLink action="#{usersController.prepareProfileConnected}" value="view" actionListener="#{snippetsProfileLinkerBean.action}">
<f:attribute name="pageToViewId" value="ViewProfilePersonalDetails" />
<f:ajax render="main:profileContentSnippet" />
在viewPersonalDetails-snippet.xhtml中: in ui:composition tag。
<h:commandLink action="#{usersController.prepareProfileConnected}" value="edit" actionListener="#{snippetsProfileLinkerBean.action}">
<f:attribute name="pageToViewId" value="EditProfilePersonalDetails" />
<f:ajax render="main:profileContentSnippet" />
<h:outputText value="#{bundle.ViewUsersLabel_userID}"/>
<h:outputText value="#{usersController.selected.userID}" title="#{bundle.ViewUsersTitle_userID}"/>
</h:commandLink>
usersController是具有prepareProfileConnected函数的请求bean,该函数使用来自DB的用户详细信息更新其选定的fild。 snippetsProfileLinkerBean是请求bean,它有两个获取代码段文件名的选项:f:param或使用action(ActionEvent事件)函数。
当我点击左侧菜单时,一切正常,我得到了片段,我看到了用户ID。 大问题当我点击片段文件中的编辑或视图时,还需要 激活功能以获取用户详细信息和更改片段,在某些情况下为 h:片段中的commandLink根本不起作用。
我如何在代码段中激活h:commandLink - 这将更改代码段文件 调用usersController中的函数来更新用户详细信息?