gpt4 book ai didi

java - JSF 添加 to datatable

转载 作者:行者123 更新时间:2023-12-02 00:32:51 25 4
gpt4 key购买 nike

好的,我尝试在此处使用 f:param 将 requestid 作为参数传递到评论页面。目前正在执行如下所示的操作,但托管属性无法按我想要的方式工作,因为我需要从 review.xhtml 再次发布。我如何添加这个 f:param 标签然后在 bean 中处理它?<​​/p>

    <p:dataTable style="width:50px;" id="requestList" value="#
{requestBean.requestsList}" var="requestClass">
<p:column>
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<a href="review.xhtml?id=#{requestClass.requestID}">
<h:outputText value="#{requestClass.requestID}" />
</a>

</p:column>

<p:column>
<f:facet name="header">
<h:outputText value="Status" />
</f:facet>
<h:outputText value="#{requestClass.requestStatus}" />
</p:column>

<p:column>
<f:facet name="header">
<h:outputText value="Details" />
</f:facet>
<h:outputText value="#{requestClass.requestTitle}" />
</p:column>
</p:dataTable>

谢谢

最佳答案

我认为你可以尝试以下方法:

。将您的 bean 保留为 RequestScoped,并在 review.xhtml 的表单中放置一个隐藏字段以包含 id:

<h:form>
...
<h:inputHidden id="id" value="#{mrBean.id}" />
...
</h:form>

@ManagedBean(name = "mrBean")
@RequestScoped
public class MrBean {
@ManagedProperty(value = "#{param.id}")
private String id;
}

。将您的 bean 保留为 RequestScoped 并放置 <f:param>在 review.xhtml 的 commandButton 内:

<h:form>
...
<h:commandButton value="Submit">
<f:param name="id" value="#{param.id)" />
</h:commandButton>
</h:form>

。将您的 bean 更改为 ViewScoped

@ManagedBean(name = "mrBean")
@ViewScoped
public class MrBean {
private String id;

@PostConstruct
public void prepareReview() {
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
id = request.getParameter("id");
}
}

关于java - JSF 添加 <f :param> to datatable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8558128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com