jsf 中没有会话生成

2023-11-23

在JSP中,有一个属性session用于禁用请求中的自动生成会话。

<%@page contentType="text/html" pageEncoding="UTF-8" session="false" %>

有没有办法在 JSF2 中做同样的事情?

Thanks

为什么?因为我们有一个公共注册表单页面作为应用程序中的默认页面。这是一个非常简单的表单,每次人们(或机器人等)请求主页时都会创建会话。 ManagedBean 是 RequestScope,但 JSF 在第一个导航请求中创建一个会话。


只是不要使用视图/会话范围的bean(因此仅使用请求或应用程序范围的bean)并将状态保存设置为client而不是(默认)server通过设置以下上下文参数web.xml.

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
</context-param>

然后 JSF 将不会创建会话,并将视图状态存储在一个名为 的隐藏输入字段中javax.faces.ViewState如有需要,请以表格形式提供。

然而,创建和管理会话的成本几乎可以忽略不计。此外,在使用客户端视图状态保存时,您仍然必须权衡视图状态序列化(反)序列化和网络带宽的成本。


Update根据你的评论:

@BalusC 是的,这可能是一个全球解决方案。但我只在这个公共页面中需要这个方法。在其他页面中,我想要服务器端状态保存方法。

啊,对了。抱歉,我在 JSF/Facelets 中没有看到任何好的方法来禁用会话或更改基于每个请求的视图状态保存。我会考虑使用纯 HTML<form>而不是 JSF<h:form>,让它提交到另一个 JSF 页面并利用@ManagedProperty在与 JSF 页面关联的 bean 中。例如。

<form action="register.jsf" method="post">
    <input type="text" name="username" />
    <input type="password" name="password" />
    <input type="submit" />
</form>

with

@ManagedBean
@RequestScoped
public class Register {

    @ManagedProperty(value="#{param.username}")
    private String username;

    @ManagedProperty(value="#{param.password}")
    private String password;

    @PostConstruct
    public void init() {
        // Do your thing here.
        System.out.println("Submitted username/password: " + username + "/" + password);
    }

    // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jsf 中没有会话生成 的相关文章

随机推荐

  • C 甚至有“按引用传递”吗? [复制]

    这个问题在这里已经有答案了 我听说在 c 中我们可以通过 按值调用 或 按引用调用 来传递参数 但在一本书中提到 我们可以通过两种方式传递参数 但没有 按引用传递 但实际上我通过 按引用传递 传递大部分参数 那么为什么要提到 C 甚至有 按
  • 根据向量中的值过滤数据框行

    当要删除的值存储在向量中时 从数据框中过滤行的最佳方法是什么 就我而言 我有一个包含日期的列 并且想要删除几个日期 我知道如何删除对应的行one日 使用 e g m m date 01 31 11 要删除向量中指定的多个日期 我尝试了 m
  • Android - 避免破坏活动,只需在按下后退按钮时停止或暂停它

    我想在按下后退按钮时暂停或将应用程序置于后台 我不希望应用程序经历销毁状态 事情是 当我覆盖 onKeyDown 时 当我使用 onPause 强制暂停或停止应用程序时 我遇到了唤醒锁和应用程序崩溃的一些问题 但是当我按下主页按钮时 我会执
  • 保持 ListView.HeaderTemplate 在 UWP 中可见/静态/粘性

    我需要保留HeaderTemplate of a ListView始终可见 但我不知道要设置什么 或者是哪个部分ListView的模板进行更改以执行此操作 我目前所拥有的导致了标题ListView向下滚动项目时滚动到顶部 我怎样才能保留标题
  • Visual Studio 2013/2015 无法加载 Azure 项目

    我刚买了一台新机器 在安装 VS2013 后 我也尝试了 VS2015 预览版 我们的一个项目无法打开 未找到该项目类型所基于的应用程序 请尝试此链接以获取更多信息 输出窗口提供了此链接 该链接毫无用处 并且在线搜索 GUID CC5FD1
  • 从 WPF 自定义 MarkupExtension 访问“当前类”

    我正在尝试编写一个自定义的MarkupExtension通过为我提供一种在 XAML 中指定绑定的更好方法 让我的生活变得更轻松 但是我想知道是否有任何方法可以访问代表该文件的对象MarkupExtension用于 换句话说 假设我有一个U
  • 在 OpenCV 中将向量转换为 mat

    我正在使用 opencv 2 4 3 使用以下代码执行向量到矩阵的转换 struct Component cv Rect box double area double circularity int main cv vector lt Co
  • Entity Framework 4.1 不会向 SQL Server Express 数据库添加任何行

    通过 SQL Server Express 使用 Entity Framework 4 1 mdf数据库 出于测试目的 我尝试在 WPF 应用程序中使用实体模型对 SQL Server Express 数据库执行 CRUD 操作 我对这个概
  • Scala-Slick 中外键的类型投影

    我正在使用 Scala 并且是 Play 和 Slick 的新手 我开始构建一个简单的数据库结构 并且不确定处理外键和投影的正确方法 在页面底部的示例中 它当前无法编译 因为无法直接提升外键 因此将查询结果提升到我的类型中的正确方法是什么
  • 数据库是在 Interbase 或 Firebird 的哪个版本下创建的?

    我有一个带有扩展名的文件 ib 我猜它要么是英特贝斯 or a Firebird文件 但我很难确定到底是哪个 此外 目前还不清楚具体是哪一个versionInterbase 或 Firebird 用于创建该文件 到目前为止我发现了什么 我尝
  • C# 中 list 的数据最大限制是多少?

    我可以向列表添加多少个值 例如 List
  • 如何创建boost phoenix make_shared?

    是否可以创建 boost Phoenix 的惰性变体std make shared 我的意思是 让类似的事情成为可能 namespace p boost phoenix expr custom parser a p make shared
  • 位运算符对 Java 中布尔值的影响

    按位运算符应该传输变量并逐位对其进行运算 对于整数 长整型 字符 这是有意义的 这些变量可以包含由其大小强制执行的全部值范围 然而 对于布尔值 布尔值只能包含两个值 1 真或 0 假 但布尔值的大小没有定义 它可以大到一个字节 也可以小到一
  • 如何在画布上移动矩形

    我在我的应用程序中使用 JavaScript 使用画布 我在画布上画了一个矩形 我想借助鼠标 例如移动滑块 移动矩形 如何使用 JavaScript 或 jQuery 移动该矩形 画布实际上只是您在其上绘画的表面 您绘画的任何东西都不是对象
  • 如何为Android创建触摸交互式图表[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我的应用程序需要图表 其中
  • 无法在 CentOS 上安装 PHP 包

    我在数字海洋托管的服务器上通过 yum 重新安装 PHP 时遇到问题 我安装了 PHP 5 4 但想要 5 6 我添加 启用了 remi 存储库 然后运行yum y remove php 然后尝试重新安装php 当我跑步时yum y ins
  • 连接谷歌电子表格中的日期和时间

    我有一个脚本可以将电子表格中的事件导入日历中 function caltest1 var sheet SpreadsheetApp getActiveSheet var startRow 2 First row of data to pro
  • 循环遍历最多 k 位为 ON 的整数的最佳方法是什么?

    我需要循环遍历所有最多有 k 位 ON 位 1 的 n 位整数 其中 0 目前我正在使用这个简单的算法 for x 0 to 2 n 1 count number of bits 1 in x if count lt k do someth
  • Google 自定义搜索 API 的 OAuth2 范围

    我已经创建了 CSE 需要以编程方式更新促销活动 这是在后端系统中完成的 因此身份验证过程中的用户交互不是一种选择 可以通过 HTTP 使用自定义搜索 API 来更新促销活动 此过程需要身份验证令牌 他们的文档说自定义搜索仅支持 Clien
  • jsf 中没有会话生成

    在JSP中 有一个属性session用于禁用请求中的自动生成会话 有没有办法在 JSF2 中做同样的事情 Thanks 为什么 因为我们有一个公共注册表单页面作为应用程序中的默认页面 这是一个非常简单的表单 每次人们 或机器人等 请求主页时