在不使用GET参数的情况下在@ViewScoped bean之间传递对象

克里斯

我有一个browse.xhtml浏览列表的位置cars,我想在details.xhtml按下“查看更多”按钮时查看汽车的详细信息它们的支持bean分别@ViewScoped称为BrowseBeanDetailsBean并且

现在,我不希望用户/客户端在URL中看到汽车ID,所以我想避免使用GET参数,如此此处所示

有什么办法可以做到这一点?我将Mojarra 2.2.8和PrimeFaces 5和OmniFaces 1.8.1一起使用。

BalusC

取决于您是发送重定向还是仅导航。

如果要发送重定向,则将其放入Flash作用域中:

Faces.setFlashAttribute("car", car);

@PostConstruct在下一个bean的中可用

Car car = Faces.getFlashAttribute("car");

或者,如果您只是在导航,则将其放在请求范围内:

Faces.setRequestAttribute("car", car);

@PostConstruct在下一个bean的中可用

Car car = Faces.getRequestAttribute("car");

也可以看看:

请注意,我假设您非常了解这样的设计选择:拥有两个完全独立的视图,而没有另一个视图就无法存在(等幂),而不是例如使用具有条件渲染内容的单个视图。而且您已经知道,在实际上被幂等请求时(即通过书签,共享链接,搜索机器人等),该视图应如何表现。如果没有,那么我强烈建议您仔细阅读以下问题的答案:如何在JSF中导航?如何使URL反映当前页面(而不是上一页)


更新:如果您不使用OmniFaces,请分别使用以下各项:

FacesContext.getCurrentInstance().getExternalContext().getFlash().put("car", car);
Car car = (Car) FacesContext.getCurrentInstance().getExternalContext().getFlash().get("car");
FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("car", car);
Car car = (Car) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("car");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在不使用TempData的情况下在ActionResults之间传递ViewModel

来自分类Dev

在不使用va_list的情况下在参数C ++中传递多个参数

来自分类Dev

在不使用Angular 2中的@Input装饰器的情况下在组件之间传递变量

来自分类Dev

在不传递参数的情况下在函数中使用变量

来自分类Dev

有没有一种方法可以在不使用props对象的情况下在组件之间传递属性?

来自分类Dev

spring-mvc:如何在控制器中不使用方法参数的情况下在mvc中传递参数

来自分类Dev

在不使用QueryString的情况下传递参数

来自分类Dev

如何在不使用jquery的情况下在纯JavaScript中使用对象的函数?

来自分类Dev

如何在不使用服务的情况下在Blazor中逐页传递模型?

来自分类Dev

我如何在不使用数组的情况下在postgres函数中传递值列表

来自分类Dev

如何在不使用库的情况下在.NET项目之间共享类?

来自分类Dev

在不使用构造函数的情况下在WCHAR *至wstring之间进行转换

来自分类Dev

在不使用“ drawmatches”功能的情况下在特征点之间画一条线

来自分类Dev

如何在不使用“元”的情况下在Scrapy解析方法之间同步数据?

来自分类Dev

在不使用FOR循环的情况下在后续元素之间进行操作?

来自分类Dev

在不使用.activate的情况下在不同的工作簿之间切换

来自分类Dev

如何在不使用屏幕的情况下在tty之间切换?

来自分类Dev

如何在不使用主动模式的情况下在 FritzBox 和 pfsense 之间创建 IPsec 隧道?

来自分类Dev

在不使用 NAT 功能的情况下在 2 个有线接口之间路由

来自分类Dev

Vue.js 2 - 在不使用 Vuex 的情况下在视图之间共享 XHR 数据?

来自分类Dev

是否可以在不使用ARFragment的情况下在ARCore中旋转3D对象?

来自分类Dev

如何在不使用内联映射或多个.ForMember的情况下在automapper中映射嵌套对象?

来自分类Dev

如何在不使用括号的情况下在Powershell中获取对象的属性?

来自分类Dev

在没有数据库提交的情况下在页面之间传递休眠会话对象

来自分类Dev

如何在不使用XHTML中的隐藏标签的情况下在JavaScript中获取bean属性值?

来自分类Dev

如何在不使用面向对象的编程的情况下在tkinter中将画布对象调整为窗口大小?

来自分类Dev

是否可以在不使用Ajax的情况下在MVC视图中将jQuery变量传递给ac#函数?

来自分类Dev

如何在不使用隐藏字段的情况下在表单提交时将变量传递给CFC?

来自分类Dev

如何加载一组初始图像,然后在不使用jQuery的情况下在它们之间随机设置动画

Related 相关文章

  1. 1

    在不使用TempData的情况下在ActionResults之间传递ViewModel

  2. 2

    在不使用va_list的情况下在参数C ++中传递多个参数

  3. 3

    在不使用Angular 2中的@Input装饰器的情况下在组件之间传递变量

  4. 4

    在不传递参数的情况下在函数中使用变量

  5. 5

    有没有一种方法可以在不使用props对象的情况下在组件之间传递属性?

  6. 6

    spring-mvc:如何在控制器中不使用方法参数的情况下在mvc中传递参数

  7. 7

    在不使用QueryString的情况下传递参数

  8. 8

    如何在不使用jquery的情况下在纯JavaScript中使用对象的函数?

  9. 9

    如何在不使用服务的情况下在Blazor中逐页传递模型?

  10. 10

    我如何在不使用数组的情况下在postgres函数中传递值列表

  11. 11

    如何在不使用库的情况下在.NET项目之间共享类?

  12. 12

    在不使用构造函数的情况下在WCHAR *至wstring之间进行转换

  13. 13

    在不使用“ drawmatches”功能的情况下在特征点之间画一条线

  14. 14

    如何在不使用“元”的情况下在Scrapy解析方法之间同步数据?

  15. 15

    在不使用FOR循环的情况下在后续元素之间进行操作?

  16. 16

    在不使用.activate的情况下在不同的工作簿之间切换

  17. 17

    如何在不使用屏幕的情况下在tty之间切换?

  18. 18

    如何在不使用主动模式的情况下在 FritzBox 和 pfsense 之间创建 IPsec 隧道?

  19. 19

    在不使用 NAT 功能的情况下在 2 个有线接口之间路由

  20. 20

    Vue.js 2 - 在不使用 Vuex 的情况下在视图之间共享 XHR 数据?

  21. 21

    是否可以在不使用ARFragment的情况下在ARCore中旋转3D对象?

  22. 22

    如何在不使用内联映射或多个.ForMember的情况下在automapper中映射嵌套对象?

  23. 23

    如何在不使用括号的情况下在Powershell中获取对象的属性?

  24. 24

    在没有数据库提交的情况下在页面之间传递休眠会话对象

  25. 25

    如何在不使用XHTML中的隐藏标签的情况下在JavaScript中获取bean属性值?

  26. 26

    如何在不使用面向对象的编程的情况下在tkinter中将画布对象调整为窗口大小?

  27. 27

    是否可以在不使用Ajax的情况下在MVC视图中将jQuery变量传递给ac#函数?

  28. 28

    如何在不使用隐藏字段的情况下在表单提交时将变量传递给CFC?

  29. 29

    如何加载一组初始图像,然后在不使用jQuery的情况下在它们之间随机设置动画

热门标签

归档