【问题标题】:Seam component init method after request parameters are set设置请求参数后的Seam组件init方法
【发布时间】:2010-11-10 20:35:55
【问题描述】:

我使用事件范围组件作为视图控制器。我需要在该控制器上有一个“init”方法,我可以在其中进行授权检查,从 JPA 加载一些实体等。

问题是,如果我选择在@Create 方法中执行此操作,page.xml 中定义的参数尚未设置(通过 GET)。 @RequestParameter 字段已设置,但它们不太灵活 - 不能在组件的内部类中使用它们,或者只能在 bean 路径的更深处使用它们。例如,我可以将name=abc 指向#{controller.user.name},但只能使用带有@RequestParameter 的组件级设置器。

是否有另一种方法来执行“init”方法,其中设置了所有请求参数?

【问题讨论】:

  • 我猜你的意思是事件范围,而不是请求范围。 @RequestParameter 通常通过发布表单来设置。你的情况也是这样吗?
  • 在这种情况下获取请求。是的,事件范围。
  • 为什么在实际调用组件之前需要预授权检查或预加载一些实体?难道你不能在你的控制器动作开始时做这些事情吗?

标签: seam


【解决方案1】:

毕竟找不到解决办法。将项目移至 Spring MVC。

【讨论】:

    【解决方案2】:

    也许你可以在你的 page.xml 中试试这个

    <param name="xxx" value="#{component.xxx}"/>
    <action execute="#{component.init}"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 2019-08-31
      • 2021-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多