Jsf 如何禁用ViewState?
我是从MS和ASP.NET进入Java世界的,希望在Java中找到类似于ASP.NET的基于组件的HTML框架。在回顾了互联网上的大量链接之后,看起来JSF2(带facelets)是最好的匹配(顺便问一下,这是真的吗?还是有其他更好的选择?) 我现在在评估过程中遇到的问题是正确使用JSF的视图状态。我的最终使用场景是集群WEB服务器,我不会有任何会话/服务器存储对象,也不会将网络带宽用于虚拟视图状态(请参见另一个人的相关问题) 我学习了一些JSF2教程,设置javax.faces.STATE\u SAVING\u METHOD=client后,将ViewState生成为440个字符的HTML(Mygod,页面只包含一个虚拟文本输入和一个提交按钮)。在“提交后发布”中,我只需要文本输入的文本(10个字符),而不需要虚拟视图状态(440个字符) 所以问题是-是否可以在JSF2中禁用视图状态 相关链接:Jsf 如何禁用ViewState?,jsf,jsf-2,viewstate,Jsf,Jsf 2,Viewstate,我是从MS和ASP.NET进入Java世界的,希望在Java中找到类似于ASP.NET的基于组件的HTML框架。在回顾了互联网上的大量链接之后,看起来JSF2(带facelets)是最好的匹配(顺便问一下,这是真的吗?还是有其他更好的选择?) 我现在在评估过程中遇到的问题是正确使用JSF的视图状态。我的最终使用场景是集群WEB服务器,我不会有任何会话/服务器存储对象,也不会将网络带宽用于虚拟视图状态(请参见另一个人的相关问题) 我学习了一些JSF2教程,设置javax.faces.STATE\u
- ASP.NET中的用例-“禁用页面的视图状态”:
- 对stackoverflow没有帮助的回答:
- “无状态JSF”:
由于Mojarra 2.1.19和Mojarra 2.2.0-m10,可以通过将
的瞬态属性设置为真来禁用每个视图的状态保存
<f:view transient="true">
...
<h:form>
...
</h:form>
...
</f:view>
...
...
...
另见:
我不熟悉ASP.NET,但JSF2使用部分状态保存来节省内存。您可能不需要禁用它。请参阅“是否可以在JSF2中禁用视图状态?”:是的,这是可能的:BalusC,您的链接似乎切中要害。然而。。。它确实说,深度黑客攻击是必需的,而JSF作者在2004年以来的JSF发展过程中,实际上没有抓住其中一个真正重要的方面。@XtraCoder我喜欢BalusC的链接,但这似乎是对JSF真正目的的冒犯。我曾经也是一名ASP.NET开发人员,我对无状态ASP.NET也有同样的感觉,但不同之处在于,在.NET技术中,没有其他众所周知的无状态web浏览解决方案不是过时的。Java没有这个问题,因为有许多框架更自然地处理无状态网页,例如JSP+Struts。@在我看来,一个好的框架是完善、简化和优化特定类型问题的解决方案的框架,并不是一个试图很好地涵盖所有可能需要的解决方案的人。就像餐馆一样,你会去一家有大量菜单和普通食物的餐馆,还是会去一家有小菜单的餐馆,厨师会非常专注于制作美味的食物?后者往往更成功。+1是一个好答案。JSF本质上是有状态的。要求无状态JSF就像需要一只宠物猫,但却试图驯化一只美洲狮。是的,这可能需要很多努力,但你最终会遇到一只非常不寻常且难以维护的美洲狮,它可能会在以后杀死你。理论上这是可能的,但为什么还要麻烦呢?Struts或Stripes更合适。