我正在学习JSF,当我意识到每当我们使用时<h:form>,JSF的标准行为总是向我显示浏览器中上一页的URL ,而不是当前页面的URL,我感到非常惊讶和困惑.
我知道这与JSF总是将表单发布到同一页面的方式有关,然后只是呈现控制器将其返回给浏览器的任何页面,而浏览器不知道页面位置已更改.
似乎JSF已经存在了足够长的时间,必须有一个干净,可靠的方法来处理这个问题.如果是这样,你介意分享吗?
我找到了各种解决方法,但遗憾的是,这似乎不是一个真正可靠的解决方案.
"?faces-redirect=true"到每个 bean的操作的返回值然后
@RequestScoped用其他东西替换(Flash Scopes,CDI对话,@ SessionScoped,......).如果它"?faces-redirect=true"是如此好,有没有办法配置整个应用程序以这种方式处理所有请求?
我提供了一个允许用户为应用程序创建帐户的界面.在该过程结束时,注册方法执行注册过程向页面添加成功消息,然后将用户导航到显示所有系统用户的中央数据表.
我遇到的问题是,由于页面重定向,成功消息永远不会显示.我不能在方法中有wait()因为在方法完成之前不会显示JSF消息.理想情况下,我希望显示成功消息,然后在指定的时间后重定向页面.
我怎样才能做到这一点?
如何编写一个过滤器,根据Google的建议(https://developers.google.com/speed/docs/best-practices/caching)适当缓存静态资源.
是否足以创建一个过滤器,将过去修改的日期设置为某个静态日期(每次服务器重新启动时都会更改)?
为所有可缓存资源指定Expires或Cache-Control max-age之一以及Last-Modified或ETag之一非常重要.指定Expires和Cache-Control:max-age或指定Last-Modified和ETag都是多余的.
上面的链接似乎建议您需要指定Expires或Cache-Control.为什么这有必要?