我正在尝试使用
<h:form id="form" prependId="true">
<p:panel id="dataPanel" closable="false" toggleOrientation="horizontal" toggleable="true" style="border: none; text-align: center;">
<p:dataGrid id="dataGrid" value="#{productDetailsManagedBean}" var="row" rowIndexVar="rowIndex" rows="4" first="0" columns="1" paginator="true" paginatorAlwaysVisible="false" pageLinks="10" lazy="true" rowsPerPageTemplate="5,10,15">
<p:commandLink process="@this">
<h:outputText styleClass="ui-icon ui-icon-search" style="margin:0 auto;" />
<!--row.subCatName is correctly retrieved here.-->
<f:setPropertyActionListener value="#{row.subCatName}" target="#{productDetailsManagedBean.subCatName}" />
</p:commandLink>
</p:dataGrid>
</p:panel>
</h:form>
相应的JSF托管bean如下所示。
@ManagedBean
@RequestScoped
public final class ProductDetailsManagedBean extends LazyDataModel<SubCategory>
{
public ProductDetailsManagedBean() {}
@EJB
private final ProductDetailsBeanLocal productService=null;
private String subCatName;
public String getSubCatName() {
return subCatName;
}
public void setSubCatName(String subCatName) {
System.out.println("setSubCatName() called. : "+subCatName); //Never invoked.
this.subCatName = subCatName;
}
//The following methods are not needed to be reviewed.
@Override
public List<SubCategory> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters)
{
int rowCount = productService.rowCount().intValue();
setRowCount(rowCount);
return productService.getList(first, pageSize);
}
}
当<代码>
我在这里忽略了什么?
我使用的是Mojara 2.2.5和PrimeFaces 4.0。
的进程
属性
编辑:
时,这是可行的。这应该也适用于< code > @ request scoped bean。我到底做错了什么?这是预期的行为吗?当受管bean的范围从< code>@RequestScoped
更改为< code>@ViewScoped
这确实需要比请求范围更高的范围才能工作(在这种情况下,至少需要一个视图范围的bean)。请看这个回答。
每当切换时,我需要设置一个布尔字段。我尝试了以下代码,但该字段从未由f:setPropertyActionListener设置,尽管p:ajax listener在切换时被调用。我尝试了以下代码。 但是,当我尝试修改代码如下,然后字段被成功设置: 我想问: 为什么第一条路不起作用? 它是坏的附加多个到单亲如第二种方式?
问题内容: 我有一个需要向Internet上的系统发出SOAP客户端请求的应用程序,因此它需要通过我们的HTTP代理。 可以通过设置系统范围的值(例如系统属性)来做到这一点: 或通过设置默认的ProxySelector(也是系统范围的设置): 如果其他子系统可能希望通过不同的HTTP代理或没有任何代理来访问Web服务器,那么这两个都不是明智的选择。使用可以让我配置哪些连接使用代理,但是对于大型应用
我有一个基于LazyDataModel的Primeface DataTable。我成功地在表中加载了数据,但我无法使用setProperty tyActionListener在对话框中显示选定的项目,也无法编辑行。我正在使用请求范围,我注意到这个问题似乎在会话范围内得到解决,但我宁愿使用前者(视图范围甚至不会在表中加载数据)。我已经尝试覆盖getRowData和getRowKey方法,但它们甚至没
问题内容: 我有一个User类: 和一个控制器类: 我使会话无效,以便下次我进入/ users时,我得到另一个用户。由于用户的会话范围,我期望使用其他用户,但是我得到的是同一用户。我在调试模式下进行了检查,它与内存中的对象ID是相同的。我的bean声明为: 我是春季新手,所以我显然做错了什么。我希望每个会话有一个User实例。怎么样? 问题答案: 这是预期的行为。当标记带有代理的bean时,将为其
问题 在你解析一个Document之后可能想修改其中的某些属性值,然后再保存到磁盘或都输出到前台页面。 方法 可以使用属性设置方法Element.attr(String key, String value), 和Elements.attr(String key, String value). 假如你需要修改一个元素的class 属性,可以使用Element.addClass(String clas
从WebSocketendpoint,我尝试调用单例服务。但是我无法使用来自WebSocket的请求或会话范围。 谢谢你的帮助!