相关疑难解决方法(0)

如何选择合适的bean范围?

我注意到有不同的bean范围,如:

@RequestScoped
@ViewScoped
@FlowScoped
@SessionScoped
@ApplicationScoped
Run Code Online (Sandbox Code Playgroud)

每个人的目的是什么?如何为我的bean选择合适的范围?

jsf scope jsf-2 managed-bean

372
推荐指数
2
解决办法
20万
查看次数

Java Server Faces 2.0的主要缺点是什么?

昨天我看到了一个关于Java Server Faces 2.0的演示文稿,虽然我现在是一个快乐的ASP.NET MVC/jQuery开发人员,但它看起来确实令人印象深刻.我最喜欢JSF的是大量支持AJAX的UI组件,这些组件似乎比ASP.NET MVC更快,特别是在AJAX重型站点上.集成测试看起来也很不错.

由于演示文稿只强调了JSF的优点,我也想听听另一方面的意见.

所以我的问题是:

  • Java Server Faces 2.0的主要缺点是什么?
  • 什么可能使JSF开发人员考虑使用ASP.NET MVC而不是JSF?

asp.net-mvc jsf jsf-2

233
推荐指数
10
解决办法
7万
查看次数

JSF 1.2:如何在同一视图上的回发中保持请求范围的托管bean活着?

是否可以在同一页面上的回发中保持请求范围的bean活动?

一般的问题是,当bean在请求结束时被删除并在每个表单提交时重新创建,例如动态操作后面的布尔值disabled,readonlyrendered重置为默认值并导致表单不再像预期的那样工作.

jsf scope managed-bean

11
推荐指数
2
解决办法
6931
查看次数

ManagedBean在Primefaces中将null返回到graphicImage

我在Primefaces组件graphicImage中显示图像时遇到问题.

当我的MB是SessionScoped时,一切正常.但是当它ViewScoped时,图像没有显示出来.

我可以保持SessionScoped,但我的页面上传/删除图像,并存储在PostgreSQL中(请,我的软件架构强迫我这样做).问题是当我插入新图像或删除一个图像时,页面仍显示最后的值(未刷新的图像),直到我关闭浏览器并再次打开.我希望通过ViewScoped我可以重新加载页面,我的问题就解决了.

这是页面的快照:

                    <p:panel id="panelListFotoProduto" header="Fotos do Produto" toggleable="true" collapsed="false" closable="false"
                             toggleSpeed="500" widgetVar="panelListFotoProduto" visible="true" >
                        <p:dataTable id="listFotoProduto" paginatorPosition="bottom" value="#{produtoMB.listProdutoFoto}" 
                                     lazy="true" var="pf" selectionMode="single" paginator="true" rows="1"
                                     rowKey="#{pf.id}">
                            <p:column style="width: 100%" >
                                <h:panelGrid columns="1" cellpadding="4"> 
                                    <p:graphicImage id="imageProduto" value="#{produtoMB.getFoto(pf)}" onclick="dialogFotoProduto.show()"/>
                                    <p:commandButton value="Excluir" style="width: 100%;" update=":growl :formProduto:panelListFotoProduto" actionListener="#{produtoMB.removeFoto(pf)}"/>
                                </h:panelGrid>     
                            </p:column>
                            <f:facet name="footer">
                                <h:panelGrid columns="1" cellpadding="4"> 
                                    <p:commandButton value="Adicionar" style="width: 100%;" update=":growl :formProduto:panelListFotoProduto" actionListener="#{produtoMB.adicionarFoto()}"/>
                                    <h:outputText id="totalProdutos" style="font-weight:bold" value="Total de Fotos Cadastrados: #{produtoMB.listProdutoFoto.size() }"/>
                                </h:panelGrid>                                      
                            </f:facet>
                        </p:dataTable>
                    </p:panel>
Run Code Online (Sandbox Code Playgroud)

这是我的MB:

@ManagedBean
@SessionScoped
public class ProdutoMB {

    private Produto …
Run Code Online (Sandbox Code Playgroud)

primefaces jsf-2 jboss7.x

4
推荐指数
1
解决办法
7883
查看次数

标签 统计

jsf ×3

jsf-2 ×3

managed-bean ×2

scope ×2

asp.net-mvc ×1

jboss7.x ×1

primefaces ×1