【发布时间】:2015-11-09 14:31:38
【问题描述】:
我遇到以下问题:我有一个文件夹层次结构,用于分隔我的项目网页:
Web
|- Acoes
| |- usuariosAcoes.xhtml
| |- cadastrarAcao.xhtml
|- usuarios
| |- listarUsuarios.xhtml
| |- cadastrarUsuario.xhtml
但是当我尝试导航 ManagedBean 时,页面不会加载,只有在我尝试访问当前页面文件夹之外的页面时才会更新当前页面。
例如,如果我在 listarUsuarios.xhtml 页面中并尝试通过 ManagedBean cadastrarUsuario.xhtml 访问该页面,一切正常:
public String acessaCadastro(){ return "cadastrarUsuario"; }
但是,如果我在页面列表 Usuarios.xhtml 上并尝试访问另一个文件夹中的 usuariosAcoes.xhtml,则什么也不会发生,只会重新加载我已经在的页面:
public String acessarAcoesUsuario(){ return "usuariosAcoes"; }
我试过了,但没有解决:
public String acessarAcoesUsuario(){ return "Acoes/usuariosAcoes"; }
所以不要:
public String acessarAcoesUsuario(){ return "../Acoes/usuariosAcoes"; }
即便如此:
public String acessarAcoesUsuario(){ return "Acoes/usuariosAcoes.xhtml"; }
或:
public String acessarAcoesUsuario(){ return "../Acoes/usuariosAcoes.xhtml"; }
那么我该如何解决这个问题呢?记住不要使用 faces-config.xml 创建路由,因为 JSF 2.x 已经抽象了它。
【问题讨论】:
-
改用“上下文路径”。 (顺便说一下,从纯粹的技术角度来看,
faces-config.xml中的导航规则并没有过时)。