Есть ли способ подстроки в JSP-файлах, используя технологии struts2? Я имею в виду, struts2 имеет свой собственный taglib, а также использует ognl. Как получить подстроку из уложенных значений или бина?Как подстроить в jsp?
ответ
http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html
Ищут Fn: подстрока и его варианты.
Я использовал Struts 1, но не 2.
Берегитесь библиотеки функций в определенных ситуациях, особенно при использовании Websphere для развертывания! Компания, которую я работаю для развертывания в Websphere 6.0 версии 11, которая не поддерживает библиотеку функций должным образом (она не работает должным образом при размещении внутри тела тега). Я помню, где-то, что они исправили его в версии 13. Вы всегда можете создать свой собственный тег JSP, чтобы что-то сделать, поэтому вы можете сделать это, чтобы обойти проблему.
Нельзя.
Если вам нужно проанализировать данные (подстроку) в JSP, то, вероятно, вы смешиваете бизнес-логику (как это работает) с вашей логикой представления (как она отображается) - они должны быть отдельными. Если вы делаете много условностей, вычислений, разбора и т. Д. В своих JSP, то вы создаете много (будущей) боли для себя.
Вместо этого выделите эти проблемы - сделайте JSP мертвым простым, без какой-либо логики, кроме отображения данных как есть или нет, плюс простые петли, если необходимо. Поместите всю нетривиальную логику в класс Java, который подталкивает данные в JSP, где у вас будет полная доступность Java. Как бы вы ни старались, сделайте JSP просто тонкой «шкурой» над вашим Java-приложением.
Подробное обсуждение см. В технической документации Terence Parr по адресу: http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf. Спасите себя от сердечной боли и обслуживания.
fn:substring(YOUR_FIELD, START_INDEX, END_INDEX)
, например, если вы хотите, чтобы получить первые 3 символа строки, вы можете сделать это:
${fn:substring('scrooge', -1, 3)}
здесь является XML пространства имен можно использовать, он должен быть тот же адрес для <% включают%> о
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
Struts2 использует OGNL. Это означает, что вы можете вызвать методы объекта непосредственно в тегах S2.
Как так:
<s:property value="str.substring(0, 5)"/>
Полезные советы в целом, но не дает ответа на вопрос. Сказать, что есть 0 случаев, когда это полезно, немного экстремально. – demongolem 2011-07-20 16:30:31