JSF:使用 ajax 清除 inputTextArea 时出现奇怪的行为

2024-04-22

这是我所拥有的

<h:inputTextarea id="comment" rows="3" cols="50" value="#{bean.comment}" /><br/>
<p:commandButton value="Comment" actionListener="#{bean.postMessage}" update="comment"/>

so postMessage()持久化数据,然后将注释的值设置为空,如下所示

comment.setComment("");

工作得很好。当我按下按钮时,消息被发布,文本被清除。但奇怪的是,当我单击刷新时,该消息又出现在inputTextArea (它不会被发布,只是重新出现在文本框中)。有没有办法来解决这个问题?
P/S:我想要一个ajax解决方案的原因是为了避免用户单击提交按钮后,然后点击刷新,导致同一条消息将被发布两次.


这是特定于网络浏览器的。其中,Firefox 暴露了这种行为。该页面是从浏览器缓存请求的,任何表单数据以及“上次输入的”数据都来自浏览器缓存。

为了解决这个“问题”,您需要禁用动态 JSF 请求的浏览器缓存。最简单的是创建一个Filter http://download.oracle.com/javaee/6/api/javax/servlet/Filter.html其注释为@WebFilter(servletNames={"facesServlet"}) (where facesServlet is the <servlet-name> of the FacesServlet定义如下web.xml)并且基本上包含以下内容doFilter() method:

HttpServletResponse hsr = (HttpServletResponse) response;
hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0.
hsr.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSF:使用 ajax 清除 inputTextArea 时出现奇怪的行为 的相关文章

随机推荐

  • 单击单个单元格并使用 Javascript 添加颜色到 HTML 表格

    我创建了一个 HTML 表 带有用户输入的列和行 并且还具有选择颜色的动态方式 现在我希望能够单击表格中的各个单元格并用所选颜色为它们着色 到目前为止我有这个代码 我的最终目标是当我再次点击 提交 时能够重置颜色 流程将是 选择桌子尺寸 选
  • 当其父对象设置为不显示时,如何获取对象的最小高度?

    为什么我无法获取min height当一个物体的parent被设定为display none 但如果最小高度是 我仍然可以得到物体的高度not in use 例如 css li display none object display blo
  • 确定 Linux 或 Windows 是 C++ 语言

    我正在用 C 编写一个跨平台兼容函数 该函数根据输入文件名创建目录 我需要知道机器是 Linux 还是 Windows 并使用适当的正斜杠或反斜杠 对于下面的代码 如果机器是Linux那么isLinux true 如何确定操作系统 bool
  • 再次将服务注入域对象

    我有一个对地理数据进行操作的特定域 我正在 TypeScript 和 NodeJS 中实现这个项目 并有以下类 Point 包含纬度和经度的值对象 Area 包含点集作为形状定义的值对象 Sector 实体 它不是持久的 但它是可变的 包含
  • 提交表单不会在 jquery ajax 调用中停止

    我得到以下代码 ajax type POST async false url CheckIdExist data param success function result if result true return false error
  • 如何解析不寻常的日期字符串

    您好 我有一个不寻常的日期格式 我想将其解析为 DateTime 对象 string date 20101121 2010 11 21 string time 13 11 41 HH mm ss 我想用DateTime Tryparse 但
  • Android.mk 与 Application.mk

    我对 Android mk 和 Application mk 的使用有点模糊 我尝试阅读 APPLICATION MK HTML ANDROID MK HTML 在NDK 附带的文档 http developer android com s
  • 如何将类元数据转换为 JSON 字符串

    如何生成类元数据的 JSON for eg C 类 public class Product public int Id get set public string Name get set public bool IsActive get
  • WebClient 最大连接池限制?

    如果远程服务阻塞 我可以发送多少个并发请求 意思是 什么是最大连接数spring在使用时内部使用的池限制WebClient Autowired private WebClient webClient webClient post uri u
  • 卸载 Magento 自定义扩展及其数据库

    我创建了一个扩展并创建了扩展的 zip 文件 以便我可以通过 Magento Connect 安装它 当我使用 Magento Connect 卸载自定义扩展时 它只会删除我的扩展文件和文件夹 但不会删除我的扩展的数据库表 我还想删除我的数
  • 如何在react 16.4.1中使用leaflet-polylinedecorator

    我正在尝试在react 16 4 1中使用传单插件polylinedecorator 所以没有钩子 然而 我能找到的关于如何在 React 中使用此插件的唯一示例是使用钩子 请参阅 如何将 Polylinedac orator 与 Reac
  • 在 Windows 中更改 Angular 项目中的任何内容时,Docker 不会重新编译

    我正在尝试对您的角度应用程序进行 dockerize 为此我创建了一个 Dockerfile 但每当我尝试编辑或更新任何组件时 它都不会编译我的角度应用程序 这是泊坞窗文件 FROM node latest RUN mkdir usr sr
  • MPI+CUDA 与纯 MPI 相比有何优势?

    加速应用程序的常用方法是使用 MPI 或更高级别的库 例如在幕后使用 MPI 的 PETSc 并行化应用程序 然而 现在每个人似乎都对使用 CUDA 来并行化他们的应用程序或使用 MPI 和 CUDA 的混合来解决更雄心勃勃 更大的问题感兴
  • 将原型 bean 自动装配到原型 bean 中?

    我正在使用一些现有的代码 它正在做我以前从未见过的事情 我已经使用方法注入将原型 bean 自动装配到单例中 或者使用 getBean 从上下文中获取 bean 我在这段代码中看到的是一个 bean 它是一个原型并使用 getBean 检索
  • 如何从 Survey Monkey 调查中获取受访者 ID?

    故事 我正处于为我公司正在制定的零售商激励计划创建视频教学引擎的初始阶段 其运作方式是零售商将注册并获得登录系统以访问内容的能力 登录后 零售商将观看有关我公司产品的短视频 然后他们将被要求回答有关该产品的 3 或 4 个问题 我们的想法是
  • PHP 将字符串解析为条件运算符

    我有一个表单 用户可以在其中创建自己的条件 例如
  • 绘制 matplotlib 图表以显示直方图箱中的总计数

    我正在尝试显示直方图 下面的数组是直方图每个单独箱的计数 binVals 0 5531608 6475325 1311915 223000 609638 291151 449434 1398731 2516755 3035532 29769
  • 如何制作轨道时间戳

    make 如何保留文件的时间戳 我正在尝试将我的 git 存储库部署到位 我正在为大多数不会改变的文件添加预编译的二进制文件 现在 当我从 git 签出存储库时 我不想编译这些 c 文件 我想使用这些预构建的二进制文件 因此 为了设置这个方
  • 如何在 MATLAB 中调整矩阵大小?

    假设我有一个1 by 12矩阵 我想将其调整为4 by 3矩阵 我怎么能这样做呢 我当前的解决方案有点丑陋 for n 1 length mat 3 out n 1 3 mat n 1 3 1 n 1 3 3 end 有一个更好的方法吗 r
  • JSF:使用 ajax 清除 inputTextArea 时出现奇怪的行为

    这是我所拥有的