<c:set var="product" value="#{productDAO.findByCode('code')}" />
#{product.name}
#{product.name}
我想从DB中检索一个对象并将其存储到一个变量中。 但是,我发现每次访问产品时都会调用数据库。 在上面的示例中,有两个对数据库的调用。JSF c:设置评估
<c:set var="product" value="#{productDAO.findByCode('code')}" />
#{product.name}
#{product.name}
我想从DB中检索一个对象并将其存储到一个变量中。 但是,我发现每次访问产品时都会调用数据库。 在上面的示例中,有两个对数据库的调用。JSF c:设置评估
您需要明确指定范围。
<c:set var="product" value="#{productDAO.findByCode('code')}" scope="request" />
正确的方法,但是,是创建和使用请求范围管理的bean,并把这个逻辑在其@PostConstruct
。
没有'范围'attr'产品'进入'Page'范围。如何将'scope'设置为'request'来改变当前行为?请帮助理解。 – 2013-05-01 14:49:57
@Ravi:恩,它进入请求范围。 – BalusC 2013-05-01 15:11:43
是的,我明白,但它如何防止OP的问题? ''我发现每次访问产品时都会调用数据库。“' – 2013-05-01 15:36:11
你不应该从视图中调用模型。 – 2013-04-29 21:04:00
@Ravi这不是很有帮助。 – 2013-04-29 21:14:27
模型无法启动DAO代码并将bean设置为View作用域的任何原因?我相信'#{product.name}'会正常工作。 – 2013-04-29 21:17:28