Как подстрока в JSP? - PullRequest
       16

Как подстрока в JSP?

3 голосов
/ 15 сентября 2008

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

Ответы [ 5 ]

3 голосов
/ 15 сентября 2008

http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html

Найдите fn: substring и ее варианты.

Я использовал Struts 1, но не 2.

1 голос
/ 29 сентября 2012

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

Вот так:

<s:property value="str.substring(0, 5)"/>
1 голос
/ 07 ноября 2008

Не.

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

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

Подробное обсуждение см. В официальном документе Теренса Парра по адресу http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf. Избавьте себя от душевных страданий и обслуживания.

0 голосов
/ 27 июля 2011
fn:substring(YOUR_FIELD, START_INDEX, END_INDEX)

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

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

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

xmlns:fn="http://java.sun.com/jsp/jstl/functions"
0 голосов
/ 16 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...