Xtr*_*der 11 viewstate jsf jsf-2
我将从MS和ASP.NET进入Java世界,并在Java中寻找类似于基于ASP.NET组件的HTML框架.在审查了互联网上的大量链接之后,看起来JSF2(与facelets)是最匹配的(顺便说一下这是真的吗?还是有其他更好的选择?).
我在评估期间遇到的问题是正确使用JSF的视图状态.我的最终使用场景将是一个集群的WEB服务器,我不会有任何会话/服务器存储的对象,我不会使用网络带宽进行虚拟视图状态(请参阅另一个人在这里有点相关的问题JSF调整) .
我拿了一些JSF2教程并在设置了javax.faces.STATE_SAVING_METHOD = client后将ViewState生成为440个字符的HTML(omygod,页面只包含1个虚拟文本输入和1个提交按钮).在"POST on submit"中,我确实只需要来自文本输入的文本(10个字符)而不是虚拟视图状态(440个字符).
所以问题是 - 是否可以在JSF2中禁用视图状态?
相关链接:
ASP.NET中的用例 - "禁用页面的视图状态":http:
//www.ironspeed.com/articles/Disable%20View%20State%20for%20a%20Page/Article.aspx
stackoverflow上没有帮助的答案:
如何在JSF中减少javax.faces.ViewState
更新:相关链接(来自以下评论):
pla*_*nes 10
JSF是一个基于组件的框架,它具有很强的状态 - 所以你需要某个地方的状态,通过网络发送到客户端并再次发布,或者在服务器端.所以AFAIK的答案是否,你无法禁用View状态.但你可以最小化它 - 但是某些州总是需要存储.这个链接是相关的.
如果您正在寻找一个不那么有状态的Java Web框架 - 那么可以查看一些基于Action的框架,如Struts或Stripes,这样您就可以在Request范围内工作,而不需要在回发上存在(或重建)组件树.Play框架获得了良好的发展 - 专门针对RESTful架构而设计.我自己没有这方面的经验,但你可能想调查一下.取自Play网站:
简单的无状态MVC架构
你的一方是数据库,另一方是网络浏览器.你为什么要介于两者之间?
基于状态和组件的Java Web框架可以轻松自动保存页面状态,但这会带来许多其他问题:如果用户打开第二个窗口会发生什么?如果用户点击浏览器后退按钮怎么办?
由于Mojarra 2.1.19和Mojarra 2.2.0-m10,可以通过设置to 的transient
属性来禁用基于每个视图的状态保存.<f:view>
true
<f:view transient="true">
...
<h:form>
...
</h:form>
...
</f:view>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5951 次 |
最近记录: |