在JavaServer Faces中导航,使用正确的参数重定向
我有一个页面: http : //mypage.com/items.jsf 。
此页面理所当然地认为如下:
- ID由GET设置或ID由POST设置。
现在,我可以手动调用items.jsf?ID = 10
但我真正想做的是有一个Button,它调用一个返回导航URL的函数。
public String test() { return "10"; }
现在在JSF文件中有以下代码。
我想要发生的是,当我按下“重定向我”时,我想要一个导航规则知道我想去:items.jsf?ID = 10
这可能吗? 感觉这真的是一个微不足道的问题。
只有核心JSF框架和Facelets库,您可能会发现这很困难。 JSF 1.2库不包括对重定向URL添加请求参数的支持。
我想到了一些解决方案:
- 只需重定向,如此处所述。
- 添加您自己的自定义NavigationHandler和/或ViewHandler代码。 一些第三方框架已经迎合了这类事情。 例如, Seam添加了一个允许导航规则中的参数的pages.xml 。
- 升级到JSF2 。 它增加了对导航期间处理参数的支持(并将Facelets标准化为核心API的一部分,其中包括此处的规范 )。 它是发布候选人2 ,可能适合也可能不适合。
如果你坚持使用JSF1.2,你也可以使用
如果您需要页面操作,方法导航或者jsut想让扩展程序为您管理,您可以使用PrettyFaces – SEO,动态参数,书签和JSF / JSF2导航
它包括大大简化的JSF导航和链接。