从JSF 1.2迁移到JSF 2.0后,每个导航上都有ViewExpiredException
|
我正在尝试将现有的JSF应用程序从JSF 1.2迁移到JSF 2.0。我正在使用MyFaces 1.2.8,并且想要使用MyFaces 2.0.5。
我使用MyFaces 2.0.5遇到的是,最初请求的页面将正确呈现,但是任何导航到另一页面的尝试都将导致显示“ 0”。消息是:
找不到视图标识符的已保存视图状态:/SomePageName.jsf(其中\“ SomePageName \”是我要离开的页面的名称)
如果手动输入要导航到的页面的Faces-Friends URL,例如http:// localhost:8080 / MYAPP / SomeOtherPage.jsf,则将正确呈现其他页面。该应用程序还识别出我已经有一个会话,因此不尝试创建一个新会话。
正如您从JSF 1.2应用程序所期望的那样,我的应用程序仅包含JSP文件。我的意图是首先使该应用程序在JSF 2.0中运行,然后将每个页面一次重写为Facelet。
我的一些导航规则如下所示:
<navigation-rule>
<display-name>ManagePorts</displayName>
<from-view-id>/ManagePorts.jsp</from-view-id>
<navigation-case>
<from-outcome>REFRESH</from-outcome>
<to-view-id>/ManagePorts.jsp</to-view-id>
</navigation-case>
</navigation-rule>
和一些看起来像这样:
<navigation-rule>
<navigation-case>
<from-outcome>MANAGE_PORT_LIST</from-outcome>
<to-view-id>/ManagePorts.jsp</to-view-id>
</navigation-case>
</navigation-rule>
(我意识到,REFRESH结果不是执行操作的最佳方法,但这已经在旧的1.2应用程序中,并且我不打算在开始迁移之前将其删除)
谁能告诉我我可能在做错什么,导致导航像这样爆炸?
没有找到相关结果
已邀请:
2 个回复
吐兄
响摔衅幸