jsf viewscoped bean-为每个页面(选项卡)设置值
很抱歉,这听起来可能很基本,但如果有人能解释如何使用JSF viewscoped bean为同一浏览器窗口中的每个选项卡设置显式值的话 请给我介绍一些商品或工作样品 请帮忙,提前谢谢 更新: auth-page.xhtmljsf viewscoped bean-为每个页面(选项卡)设置值,jsf,tabs,view-scope,Jsf,Tabs,View Scope,很抱歉,这听起来可能很基本,但如果有人能解释如何使用JSF viewscoped bean为同一浏览器窗口中的每个选项卡设置显式值的话 请给我介绍一些商品或工作样品 请帮忙,提前谢谢 更新: auth-page.xhtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <u
<!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:qumola="http://java.sun.com/jsf/composite/qumola"
xmlns:p="http://primefaces.org/ui">
<style type="text/css"/>
<h:panelGrid id="newGrid">
<ui:param name="labelResourceName"
value="#{userMenuState.selectedLeftMenuItem.menuLabel}" />
<h:form id="someForm">
<h:panelGrid id="topBannerId">
<font>#{msg[labelResourceName]}</font> <font
class="titleTextBar"> </font>
<font class="titleTextBar">
#{activityEditorManagedBean.selectedActivityBean.title}</font>
</h:panelGrid>
</h:form>
</h:panelGrid>
</ui:composition>
#{msg[labelResourceName]}
#{activityEditorManagedBean.selectedActivityBean.title}
上述代码中的值“activityEditorManagedBean.selectedActivityBean.title”是一个viewscoped bean变量值,但在打开它的每个选项卡中都有相同的值。您不能这样做<代码>@ViewScoped仅限于单个视图选项卡。您需要使用
@SessionScoped
@XtremeBiker,仅供参考,视图范围可以很好地用于多个选项卡要求。我让它在另一个地方工作。但是它在这里工作不正常,刷新后某些值会发生更改。您可以将其用于多个选项卡,但不能在同一浏览器的多个选项卡上共享存储在@ViewScoped
bean中的值。那是肯定的。这是因为@ViewScoped
被设计为仅适用于相关视图。看看这个,看看BalusC的评论“每个选项卡都有自己的视图范围bean”。这就是问题所在?我在每个选项卡中都有一个公共值。可能是因为此页面被用作其他facelet的源。请签出。我看到您的记录中有Maven和eclipse标记,因此您可以轻松导入它。