java相关的一切杂言碎语

2009年5月10日星期日

apusic operamasks使用了 w:foreach 迁移到tomcat的问题

aom使用了 w:foreach 迁移到tomcat的问题

如果部署到tomcat的aom应用中使用了 w:foreach,只包含
elite.jar
jsf-api.jar
operamasks-impl.jar
operamasks-options.jar
operamasks-third-party.jar
在一些特殊情况下(w:foreach 绑定的不是一个list对象)是不能运行的,需要加上jstl.jar

uidata.java 方法getDataModel会调用到jstl.jar
复制内容到剪贴板
JAVA 代码:
  1. protected DataModel getDataModel() {
  2. // Return any previously cached DataModel instance
  3. if (this.model != null) {
  4. return (model);
  5. }
  6. // Synthesize a DataModel around our current value if possible
  7. Object current = getValue();
  8. if (current == null) {
  9. setDataModel(new ListDataModel(Collections.EMPTY_LIST));
  10. } else if (current instanceof DataModel) {
  11. setDataModel((DataModel) current);
  12. } else if (current instanceof List) {
  13. setDataModel(new ListDataModel((List) current));
  14. } else if (Object[].class.isAssignableFrom(current.getClass())) {
  15. setDataModel(new ArrayDataModel((Object[]) current));
  16. } else if (current instanceof ResultSet) {
  17. setDataModel(new ResultSetDataModel((ResultSet) current));
  18. } else if (current instanceof Result) {
  19. setDataModel(new ResultDataModel((Result) current));
  20. } else {
  21. setDataModel(new ScalarDataModel(current));
  22. }
  23. return (model);
  24. }

1 条评论:

pic