使用 ${dorado.getDataProvider("……").getResult()} 如何設置參數

使用 ${dorado.getDataProvider("……").getResult()} 如何設置參數,是否只能查詢全部?
已邀请:

WilliamJiang

赞同来自: 斷亂

xxx就是参数值,你也可以用EL表达式,从上下文中获取,但是这个表达是不支持ajax请求,页面初始化的时候执行的。

WilliamJiang

赞同来自:

${dorado.getDataProvider("……").getResult("xxx")} 

斷亂 - Easy to say, hard to do.

赞同来自:

這樣的話我只要給 AutoForm 需要變成下拉框的那個 AutoFormElement 添加一個  TextEditor,然後 TextEditor 的 mapValues 設置為 ${dorado.getDataProvider("paramService#readMappingListByKind").getResult("1")},trigger 設置為 autoMappingDropDown2(帶空行),blankText 設置為“請選擇”,下拉框就會自動顯示例如“空行、男、女”的效果,而且點擊提交到後台的值是“null、1、2”這樣的真實值。
 
paramService#readMappingListByKind:
@DataProvider
public List<Map<String, String>> readMappingListByKind(String kind) {
List<Map<String, String>> mappingList = new ArrayList<>();
Map<String, String> paramMap = null;
Map<String, Object> inputParameterMap = new HashMap<>();
if (StringUtils.isNotEmpty(kind)) {
StringBuilder hql = new StringBuilder("from ");
hql.append(Param.class.getName());
hql.append(" where kind=:kind");
inputParameterMap.put("kind", Integer.parseInt(kind));
List<Param> paramList = paramDao.query(hql.toString(),
inputParameterMap);
if (ObjectUtils.isNotEmpty(paramList)) {
for (Param param : paramList) {
paramMap = new HashMap<>();
paramMap.put("key", param.getKey());
paramMap.put("value", param.getValue());
mappingList.add(paramMap);
}
}
}
return mappingList;
}

Param:
@Entity
@Table(name = "param", catalog = "shyl")
public class Param implements java.io.Serializable {

private Integer id;
private Integer kind;
private String key;
private String value;
private String note;

…………

詳情:wiki.bsdn.org/display/dorado7/01.+mapping

要回复问题请先登录注册