2014-12-15 1 views
1

У меня есть пользовательский файл тегов JSP (класс Java), который расширяет класс TagSupport. В этом классе, у меня есть метод doEndTag, который вычисляет что-то и вывод записывается, как показано ниже:JSP-файл тега, который выводит результат (возвращаемое значение) переменной переменной, чтобы ее распечатать

public class ScopeTag extends TagSupport { 
    private Scope scope; 
    public int doEndTag() throws JspTagException { 
     String content = null; 
     content = String.valueOf(srs.getParameterDatasByScope(scope).size()); // src is my service class 
     pageContext.getOut().print((content == null) ? "" : content); 
     return EVAL_PAGE; 
    } 
} 

Теперь я использую этот класс тега в моем JSP как:

<td><i:scope type="numOfParamData" scope="${scope}"/> parameter rules</td> 

Теперь вместо печати значение внутри элемента td, я хочу сохранить его в переменной для дальнейшей обработки. Скажем, например, я хочу видеть, что возвращаемое значение равно 0 или нет.

Я хотел бы написать класс Tag Java, чтобы использовать тег что-то похожее на тег JSTL fmt:parseDate, как показано ниже.

<fmt:parseDate value="${now}" var="parsedEmpDate" pattern="dd-MM-yyyy" /> 
<p>Parsed Date: <c:out value="${parsedEmpDate}" /></p> 

Здесь результат (отформатированные данные) хранятся в переменной parsedEmpDate

Так что для того, чтобы добиться чего-то вроде ДРМ: parseDate, какие изменения я должен сделать в классе тегов?

ответ

1

Мой вопрос (моя потребность) почти то же самое, что и в этой теме: JSP tag file that either outputs its body or returns it in a variable

Тем не менее, ответы в thread были связаны с написанием кода библиотеки тегов в файле .tag, что является новым для меня. Все, что я знаю при написании библиотеки тегов, - это кодировать его как класс java. И именно поэтому я создал эту тему.

Тем не менее, я пошел вперед, чтобы принять некоторые намеки/помощь от указанной выше нити и сделал мое собственное решение: Я использовал эту строку текста, как мое решение - I know that the caller can achieve this by wrapping the custom tag in a c:set, but this is less elegant than simply declaring a "var"

Вот код:

<c:set var="optin"> 
    <i:scope type="paramData" scope="${scope}" paramNum="40100"/> 
</c:set> 

Изменений, внесенных в библиотеку тегов java class ..

0

Очевидно, вы можете использовать SimpleDateFormat http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html;

Пример:

Date today = new Date(); 

     //If you print Date, you will get un formatted output 
     System.out.println("Today is : " + today); 

     //formatting date in Java using SimpleDateFormat 
     SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy"); 
     String date = DATE_FORMAT.format(today); 
     System.out.println("Today in dd-MM-yyyy format : " + date); 

     //Another Example of formatting Date in Java using SimpleDateFormat 
     DATE_FORMAT = new SimpleDateFormat("dd/MM/yy"); 
     date = DATE_FORMAT.format(today); 
     System.out.println("Today in dd/MM/yy pattern : " + date); 

     //formatting Date with time information 
     DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS"); 
     date = DATE_FORMAT.format(today); 
     System.out.println("Today in dd-MM-yy:HH:mm:SS : " + date); 

     //SimpleDateFormat example - Date with timezone information 
     DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS Z"); 
     date = DATE_FORMAT.format(today); 
     System.out.println("Today in dd-MM-yy:HH:mm:SSZ : " + date); 

ВЫВОД:

Today is : Fri Nov 02 16:11:27 IST 2012 
Today in dd-MM-yyyy format : 02-11-2012 
Today in dd/MM/yy pattern : 02/11/12 
Today in dd-MM-yy:HH:mm:SS : 02-11-12:16:11:316 
Today in dd-MM-yy:HH:mm:SSZ : 02-11-12:16:11:316 +0530 
+0

Благодарим за ответ. На самом деле проблема, с которой я столкнулась, заключается не в том, как отформатировать дату. Мне нужно закодировать класс Custom JSP Tag так, чтобы вычисленное значение/результат сохранялось в переменной, которая затем может использоваться в JSP – Arun

+0

. Итак, ваша проблема заключается в том, что вы не знаете, как сохранить значение области в переменной в JSP страница? – drgPP

+0

Я хотел бы использовать свой тег, как показано ниже: - При этом возвращаемое значение из класса тега будет помещено в результат var - " « – Arun

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

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