01: /**
02: * Copyright 2007 Webmedia Group Ltd.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: **/package org.araneaframework.jsp.tag.uilib.tab;
16:
17: import java.io.Writer;
18: import org.araneaframework.jsp.tag.include.WidgetIncludeTag;
19: import org.araneaframework.uilib.tab.TabContainerWidget;
20: import org.araneaframework.uilib.tab.TabWidget;
21:
22: /**
23: * @jsp.tag
24: * name = "tabBody"
25: * body-content = "empty"
26: * description = "Writes out currently active tab content. It is meant to be used inside <ui:tabContainer> tag."
27: *
28: * @author Nikita Salnikov-Tarnovski (<a href="mailto:nikem@webmedia.ee">nikem@webmedia.ee</a>)
29: * @author Taimo Peelo (taimo@araneaframework.org)
30: *
31: * @see TabContainerWidget
32: */
33: public class TabBodyTag extends WidgetIncludeTag {
34: protected int doStartTag(Writer out) throws Exception {
35: TabContainerWidget tabContainerWidget = (TabContainerWidget) requireContextEntry(TabContainerHtmlTag.TAB_CONTAINER_WIDGET);
36: String tabContentWidgetId = tabContainerWidget.getScope()
37: .getId().toString()
38: + "."
39: + tabContainerWidget.getSelectedTab().getScope()
40: .getId().toString()
41: + "."
42: + TabWidget.CONTENT_WIDGET_KEY;
43:
44: setId(tabContentWidgetId);
45: super.doStartTag(out);
46: return SKIP_BODY;
47: }
48: }
|