首页 > 解决方案 > 删除里面的尾随空格

问题描述

我正在寻找一种方法来修剪我的 af:inputListOfValues 组件中的前导和尾随空格。我可以以编程方式访问 View Criteria,并从 VOImpl 自定义类中修剪我的所有值,但我不确定如何将其公开给实际组件。将我的自定义方法公开给 LOV 组件的方法是什么?先感谢您!

标签: oracle-adfjdeveloper

解决方案


为了修剪我的 LOV 组件中的值,我必须重写 executeQueryForCollection。这样我就可以访问我的参数并对其进行修剪。

@Override
protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams) {
    ArrayList<Object[]> alParams = new ArrayList<Object[]>();

    //Pass along any explicit (user entered) parameters for the query. Also some implicit parameters.
    if(params != null && params.length > 0){
        for (Object o : params) {
            alParams.add((Object[])o);
        }
        //Access the value of each object and trim it
        for (Object[] p: alParams){
            if(p.length > 1){
                p[1] = trimCriteria(p[1]);  
            }  
        }
        Object[] trimParams = alParams.toArray();
        super.executeQueryForCollection(qc, trimParams, noUserParams);
    } else {
        super.executeQueryForCollection(qc, params, noUserParams);
    }

}


public Object trimCriteria (Object searchCriteria){
    if(searchCriteria instanceof String)
    if(searchCriteria != null){
        searchCriteria = ((String)searchCriteria).trim();
    }
    return searchCriteria;
}`

推荐阅读