当前位置: 首页 > 知识库问答 >
问题:

JSF从bean方法重定向到另一个bean

夏振国
2023-03-14

我有一个场景,在呈现JSF页面之前,我必须调用另一个bean和注册的bean属性,因为JSF页面引用bean属性来呈现响应。

处理请求-调用后端方法以获取详细信息-如果(type==XYZ),则调用beantwo.gettypexyz()并按照为beantwo.gettypexyz()定义的导航规则重定向-否则(type==RST),则调用beanthree.gettyperst()并按照为beanthree.gettyperst()定义的导航规则重定向

getTypeXYZ()

  • 处理请求
  • 调用后端方法以获取详细信息
  • 设置this.attributeB=从后端方法返回的值。
  • 导航到页B
  • 处理请求
  • 调用后端方法以获取详细信息
  • 设置this.attributec=从后端方法返回的值。
  • 导航到第C页

比如在导航规则中有bean方法名

<导航-规则>
页A

#{beanone.getdetail} #{beanone.getDetail}
rst

共有1个答案

袁永贞
2023-03-14

您是否尝试在faces-config.xml中使用navication-rule

<navigation-rule>
 <navigation-case>
  <from-outcome>XYZ</from-outcome>
  <to-view-id>pageB.xhtml</to-view-id>
  <redirect/>
  </navigation-case>
 <navigation-case>
  <from-outcome>RST</from-outcome>
  <to-view-id>pageC.xhtml</to-view-id>
  <redirect/>
 </navigation-case>
</navigation-rule> 

在豆中

getTypeXYZ() {
   ...
   NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
   nh.handleNavigation(facesContext, null, "XYZ");
}
 类似资料:
  • 转到http://localhost:8080的结果是重定向:/birdspotting的打印

  • 本文向大家介绍详解Java从后台重定向(redirect)到另一个项目的方法,包括了详解Java从后台重定向(redirect)到另一个项目的方法的使用技巧和注意事项,需要的朋友参考一下 (1)通过ModelAndView跳转 (2)通过HttpServletResponse跳转 (3)通过redirect返回String类型跳转,注意这种方法不允许Spring控制器用@RestControlle

  • 有没有一种方法让JSF支持bean导致页面上组件的更新?我不希望使用带有update属性的ajax组件来更新页面上的组件。我需要从JSF backing bean方法中触发更新。注页面上的更新可能发生在此方法完成之后或完成之前。我正在使用PrimeFaces,如果使用PrimeFaces有一个解决方案的话。

  • 问题内容: 我有两个具有相同属性名称的java类。如何将所有属性复制到另一个装有数据的bean中。我不想使用传统形式来复制属性,因为我有很多属性。 提前致谢。 1班 2班 问题答案: 用途:

  • 问题内容: 我在不同的程序包中有几个Pojo,每个POJO包含同一程序包中另一个Pojo的集合。我需要将所有具有相同名称的项目从Package B Pojos复制到Package A中的对象。 极端: 我想递归地将所有项目从类复制到存在且共享相同名称的类。 更新: 伙计们,我知道这是一个愚蠢的问题,但是我需要维护此代码,现在编写代码时,他们必须调用50个getter和setter或使用50个参数调

  • 我正在尝试从一个页面的app.js转移到addwork.js。我在app.js中添加了一个将用户重定向到addwork.js的按钮,但奇怪的是页面重定向到相同的页面(app.js界面),而URL却变成了addwork。 我在render()中使用了以下代码: