- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先对我的英语感到抱歉。我在 JSF2 中有两个页面,一个用于列出乘客,另一个用于创建/更新乘客。我还有两个 @ViewScoped bean,一个包含乘客列表,另一个用于在 pageB 中保留所选乘客。我看到了通过 viewParam 或 @ManagedProperty 传递乘客的方法,但我不想编写转换器。
我想知道是否有一种方法可以将对象从 pageA 传递到 pageB,而不传递乘客的 id 并编写转换器,或者不传递 id,然后转到数据库检索乘客。我所做的和工作如下。我通过 setPropertyActionListener 在 flash 作用域中设置所选对象并导航到 pageB,在 viewScopedBean 的 @PostConstruct 中,我获取 flashScope 并检索对象。正如我所说,这有效,但我不知道它是否正确。这是代码页A:
<p:column width="10" style="text-align: center;">
<p:commandButton icon="ui-icon-pencil" action="editClientes?faces-redirect=true">
<f:setPropertyActionListener target="#{flash.pax}" value="#{row}"/>
</p:commandButton>
</p:column>
pageB bean 的@PostConstruct
@PostConstruct
private void initBean(){
this.pax = (Passenger) JSFUtils.getFlashScope().get("pax");
if(this.pax == null){
this.pax = new Passenger();
}
}
这是正确的,还是正确的方法是编写转换器?谢谢。
最佳答案
取决于您是否希望 /editClientes
请求为 idempotent (“可加入书签”)或不。
闪存方法不是幂等的。无法链接/共享/添加书签 /editClientes
URL 来编辑特定客户端。当最终用户复制此 URL 进行共享/添加书签并重新执行请求时(即使只是在浏览器地址栏中按 [enter]),最终用户将面临的只是一个新客户端的空编辑表单,而不是最终用户最初通过闪存范围选择的一个。
请求参数方法是幂等的。每次最终用户重新执行请求时,最终用户都能够获得完全相同相同的响应。
我们不决定您的 /editClientes
页面是否应该幂等。是你的了。
关于jsf - 如何在 JSF 中将对象从一个页面传递到另一个页面而不编写转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467864/
我是一名优秀的程序员,十分优秀!