2008-09-15 7 views
3

Есть ли способ подстроки в JSP-файлах, используя технологии struts2? Я имею в виду, struts2 имеет свой собственный taglib, а также использует ognl. Как получить подстроку из уложенных значений или бина?Как подстроить в jsp?

ответ

0

Берегитесь библиотеки функций в определенных ситуациях, особенно при использовании Websphere для развертывания! Компания, которую я работаю для развертывания в Websphere 6.0 версии 11, которая не поддерживает библиотеку функций должным образом (она не работает должным образом при размещении внутри тела тега). Я помню, где-то, что они исправили его в версии 13. Вы всегда можете создать свой собственный тег JSP, чтобы что-то сделать, поэтому вы можете сделать это, чтобы обойти проблему.

1

Нельзя.

Если вам нужно проанализировать данные (подстроку) в JSP, то, вероятно, вы смешиваете бизнес-логику (как это работает) с вашей логикой представления (как она отображается) - они должны быть отдельными. Если вы делаете много условностей, вычислений, разбора и т. Д. В своих JSP, то вы создаете много (будущей) боли для себя.

Вместо этого выделите эти проблемы - сделайте JSP мертвым простым, без какой-либо логики, кроме отображения данных как есть или нет, плюс простые петли, если необходимо. Поместите всю нетривиальную логику в класс Java, который подталкивает данные в JSP, где у вас будет полная доступность Java. Как бы вы ни старались, сделайте JSP просто тонкой «шкурой» над вашим Java-приложением.

Подробное обсуждение см. В технической документации Terence Parr по адресу: http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf. Спасите себя от сердечной боли и обслуживания.

+2

Полезные советы в целом, но не дает ответа на вопрос. Сказать, что есть 0 случаев, когда это полезно, немного экстремально. – demongolem 2011-07-20 16:30:31

0
fn:substring(YOUR_FIELD, START_INDEX, END_INDEX) 

, например, если вы хотите, чтобы получить первые 3 символа строки, вы можете сделать это:

${fn:substring('scrooge', -1, 3)} 

здесь является XML пространства имен можно использовать, он должен быть тот же адрес для <% включают%> о

xmlns:fn="http://java.sun.com/jsp/jstl/functions" 
1

Struts2 использует OGNL. Это означает, что вы можете вызвать методы объекта непосредственно в тегах S2.

Как так:

<s:property value="str.substring(0, 5)"/> 

 Смежные вопросы

  • Нет связанных вопросов^_^