Исключение в основном говорит о том, что объект, который содержится в атрибуте var
, равен java.lang.String
.Так что выглядит как , что ${donorMap}
это на самом деле a List<String>
или, может быть, String[]
.Кроме того, метод getDonorList();
предполагает, что он на самом деле возвращает List
, а не HashMap
.
Я не уверен насчет основной причины проблемы, возможно, вы не запускаете кодвы думаете, что бежите, но следующее
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
страшно.Это будет означать, что вы извлекли оригинальный JAR-файл taglib и загромождали путь к классам веб-приложения с его свободным содержимым и файлами TLD.Это могло конфликтовать с одним и другим.
Я настоятельно рекомендую очистить все в веб-контенте и /WEB-INF
, которые как-то связаны с этими тегами, а затем повторить, поместив нетронутые файлы JAR прямо в /WEB-INF/lib
и повторно объявите их в JSP следующим образом:
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
См. Также:
Тем не менее, эта дурная практика извлечения файлов taglib обычно описывается в руководствах Struts / JSTL по адресу roseindia.com .Убедитесь, что вы не подписаны на них.Даже если нет, просто помните об этом месте и сразу же нажимайте Ctrl+W
всякий раз, когда вы случайно приземляетесь на этом месте.
См. Также: