2014-11-29 7 views
2

Я использую jstl C:forEach для печати таблицы в jsp. Я проверить это, как,Запись пользовательских функций в JSTL

  <c:choose> 
      <c:when test="${varName eq condition}"> 
      <c:out value="${fn:substring(varName, 0, 3)} 
      </c:when> 
      <c:otherwise> 
      ${varName} 
      </c:otherwise> 
     </c:choose> 

так это выводит результат по мере необходимости, и у меня есть сценарий, чтобы использовать то же самое для других полей в одной и той же странице, а также на других страницах.

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

Заранее благодарим за ответы и комментарии?

ответ

1

Вы можете определить свои собственные JSP-теги. С JSP 2.0 вы можете использовать JSP tag files, которые имеют синтаксис, очень похожий на страницы JSP.

Создать подкаталог в WEB-INF каталоге: /WEB-INF/tags/mytaglib

В этом каталоге создайте файл displayVarName.tag:

<%@ tag body-content="empty" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> 

<%@ attribute name="varName" rtexprvalue="true" required="true" type="java.lang.String" description="Description of varName" %> 
<%@ attribute name="condition" rtexprvalue="true" required="true" type="java.lang.String" description="Description of condition" %> 

<c:choose> 
    <c:when test="${varName eq condition}"> 
     <c:out value="${fn:substring(varName, 0, 3)} 
    </c:when> 
    <c:otherwise> 
     ${varName} 
    </c:otherwise> 
</c:choose> 

Теперь вы можете импортировать тег и использовать его в JSP страницы с помощью:

<%@taglib prefix="mytaglib" tagdir="/WEB-INF/tags/mytaglib"%> 

<mytaglib:displayVarName varName=${varName} condition=${condition} /> 
+0

Спасибо :) Это сработало, как ожидалось. Не могли бы вы указать различия между файлами 'tag' и' .tld'. Любые ссылки были бы очень полезны –

+0

Вы используете файл '.tld', когда вы разрабатываете свои пользовательские теги в' java'. Для этого есть несколько учебных пособий в сети, например http://www.tutorialspoint.com/jsp/jsp_custom_tags.htm. – obourgain

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