Как определить тег, который получает массив в качестве параметра?Taglib в Java: tag с параметром массива
Благодаря
Как определить тег, который получает массив в качестве параметра?Taglib в Java: tag с параметром массива
Благодаря
JSTL делает это, и вы можете тоже.
я, случается, есть пример функции эш под рукой, а затем я буду вставлять часть с: определение Foreach, чтобы дать вам идею:
Вы могли бы передать его как строку с разделителями, но если вы хотите коллекцию или массив, вы можете использовать что-то вроде этого:
<function>
<name>join</name>
<function-class>mypackage.Functions</function-class>
<function-signature>String join(java.lang.Object, java.lang.String)</function-signature>
</function>
и
/**
* jstl's fn:join only works with String[]. This one is more general.
*
* usage: ${nc:join(values, ", ")}
*/
public static String join(Object values, String seperator)
{
if (values == null)
return null;
if (values instanceof Collection<?>)
return StringUtils.join((Collection<?>) values, seperator);
else if (values instanceof Object[])
return StringUtils.join((Object[]) values, seperator);
else
return values.toString();
}
очевидно, что вместо Object
входа вы можете использовать массив, если вы не ж ant для обработки коллекций.
Вот с: Foreach определение:
<tag>
<description>
The basic iteration tag, accepting many different
collection types and supporting subsetting and other
functionality
</description>
<name>forEach</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.ForEachTag</tag-class>
<tei-class>org.apache.taglibs.standard.tei.ForEachTEI</tei-class>
<body-content>JSP</body-content>
<attribute>
<description>
Collection of items to iterate over.
</description>
<name>items</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
...
Если данные массива строк, вы можете передавать данные в виде ограниченного списка, возможно, в качестве атрибута.
<mytag myattribute="value1,value2,value3"/>
Вы могли бы сделать то же самое с телом тега, или jsp:param
или некоторые такие, но я подозреваю, что этот подход атрибут, вероятно, проще код и понять.
не может придумать другой способ с верхней частью моей головы. Теги должны использоваться декларативно, на страницах JSP, поэтому все, что у вас есть, - это действительно XML, т. Е. Строки, теги, атрибуты, если вы не собираетесь использовать скрипты, что не является хорошей практикой. Можете ли вы подробно рассказать о том, что вы пытаетесь сделать? – Brabster
Это решение может работать, но я уже сделал с помощью params и добавил эти параметры в родительский тег. – Victor