标签: flow-scope

如何在JSF中禁用jftfdi jffi查询参数

我尝试了最后一个版本的JavaServer Faces 2.2(Mojarra 2.2.4)并注意到以这种不受欢迎的方式更改了我的查询字符串:

page.jsf?jftfdi=&jffi=
Run Code Online (Sandbox Code Playgroud)

代替

page.jsf
Run Code Online (Sandbox Code Playgroud)

我发现它是新的JSF 2.2功能.但这些查询参数(jftfdi,jffi)破坏了我对SEO友好的网址.我该如何禁用它?

jsf http-request-parameters mojarra jsf-2.2 flow-scope

6
推荐指数
1
解决办法
1282
查看次数

可以从Servlet中启动面流吗?

我有一个服务,由servlet访问,它将用户重定向到登录屏幕.支持bean的范围目前正从@ConversationScoped更改为@FlowScoped,因为它更容易处理.

有没有办法直接从servlet中初始化faces流,没有通过隐式动作或JSF转发/重定向的间接?

我知道@FlowScope是一个JSF(2.2)范围,我想知道是否有办法扩展FacesServlet或类似的东西.

作为一种解决方法,我目前只使用一个按钮添加视图,这使得JSF转发进入流目录,但我试图避免这种情况.

更新
我尝试了很多方法来"自动"转发到流程中,而不必点击任何按钮,但我总是得到一个No active contexts for scope type javax.faces.flow.FlowScoped.我的方法是:

  1. f:viewAction

    <f:metadata>
      <f:viewAction action="myFlow" />
    </f:metadata>
    
    Run Code Online (Sandbox Code Playgroud)

    这个似乎执行得太早(无论如何).

  2. f:event

    <f:event type="preRenderView" listener="#{myBean.forwardToMyFlow()}" />
    
    Run Code Online (Sandbox Code Playgroud)

    bean中的方法返回与结果相同的结果f:viewAction.

  3. 导航案例

    <navigation-rule>
      <from-view-id>/myView.xhtml</from-view-id>
      <navigation-case>
        <from-outcome>myFlow</from-outcome>
        <to-view-id>/myFlow/myFlow.xhtml</to-view-id>
        <redirect />
        <to-flow-document-id />
      </navigation-case>
    </navigation-rule>
    
    Run Code Online (Sandbox Code Playgroud)

我错过了什么?

jsf-2.2 flow-scope

2
推荐指数
1
解决办法
643
查看次数