Пользовательский тег Java JSP для вложенной древовидной структуры. - PullRequest
1 голос
/ 03 ноября 2011

Я хочу создать свои пользовательские теги JSP Java для древовидной структуры, такие как:

<ul>
   <li>
      <a href="#">Root</a>
      <ul>
          <li><a href="#">Node</a></li>
          <li><a href="#">Node</a></li>
          <li><a href="#">Node</a></li>
          <li>
              <a href="#">Node</a>
              <ul>
                  <li><a href="#">Node</a></li>
                  <li><a href="#">Node</a></li>
              </ul>
          </li>
      </ul>
  </li>
</ul>

В файле JSP XML должен выглядеть так:

<lib:treeview>
    <lib:treenode path="/some/path.do" label="Root">
    <lib:treenode path="/some/path.do" label="NodeLabel"/>
    <lib:treenode path="/some/path.do" label="NodeLabel"/>
    <lib:treenode path="/some/path.do" label="NodeLabel"/>
    </lib:node>
</lib:treeview>

Кто-нибудь реализовывал вложенные структуры, подобные этой? Какие классы лучше использовать? Может быть, у кого-нибудь есть полезные ссылки? Помогите, пожалуйста:)

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Не проверял это, что-то вроде этого должно работать:

treeview.tag:

<%@ tag description="treeview" %>
<ul>
    <jsp:doBody />
</ul>

treenode.tag:

<%@ tag description="treenode" %>
<%@ attribute name="label" required="true" type="java.lang.String" %>
<%@ attribute name="path" required="true" type="java.lang.String" %>
<li>
    <a href="${path}">${label}</a>
    <jsp:doBody />
</li>

test.jsp:

<lib:treeview>
    <lib:treenode label="root" path="#">
        <lib:treeview>
            <lib:treenode label="node" path="#">
            <lib:treenode label="node" path="#">
            <lib:treenode label="node" path="#">
        </lib:treeview>
    </lib:treenode>
</lib:treeview>

выход:

<ul>
    <li>
        <a href="#">root</a>
        <ul>
            <a href="#">node</a>
            <a href="#">node</a>
            <a href="#">node</a>
        </ul>
    </li>
</ul>
0 голосов
/ 13 апреля 2012

Это дерево JSP простое. Вы можете улучшить. Также есть флажки. Полный исходный код и файл Read Me помогут вам. Я написал это в свое свободное время. Bye

http://sourceforge.net/projects/jsptree-simple/

...