древовидное меню JAVA

Attar
На сайте с 01.10.2011
Offline
29
918

Добрый день, у меня такая проблема, нужно сделать древовидное меню и присвоить класс активному, но не просто активному но и его родителю ...

скажем так

<ul>

<li><a href="/jCube/about.html">О jcube cms</a></li>
<li><a href="/jCube/product.html">Продукт</a></li>
<li class="active">
<a href="/jCube/downloads.html">Скачать</a>
<ul>
<li class="active"><a href="/jCube/downlods/distribution.html">Дистрибутив</a></li>
<li><a href="/jCube/downlods/modules.html">Модули</a></li>
</ul>
</li>
<li><a href="/jCube/developers.html">Разработчикам</a></li>
<li><a href="/jCube/partners.html">Партнерам</a></li>
<li><a href="/jCube/buy.html">Купить</a></li>
</ul>

ссылку мы узнаем так

String url = request.getRequestURI()

вот так генерирую меню


private String build_menu(String parent) throws IOException
{
try {
ResultSet prs;
String SQL;
String prefix = null;
String theme = null;
String title = null;
String content = null;
Statement stmt = null;

Data data = new Data();
prefix = data.getSettings("prefix");
stmt = data.connect();

SQL = ("SELECT * FROM "+prefix+"Structure WHERE parent_id='"+parent+"' ");
prs = stmt.getConnection().createStatement().executeQuery(SQL);

String url = data.getUrl();
String result;

result = "<ul>\n";

while (prs.next())
{
if("1".equals(prs.getObject("show_in_menu").toString())){
if(url.equals(prs.getObject("url").toString())){result += "<li class=\"active\"><a href=\"/jCube"+prs.getObject("url").toString()+"\">";}
else{result += "<li>\n<a href=\"/jCube"+prs.getObject("url").toString()+"\">";}
result += prs.getObject("title").toString();
result += "</a>\n";
if( url.equals(prs.getObject("url").toString()) ){ result += build_menu(prs.getObject("id").toString()); }
result += "</li>\n";
}
}

result += "</ul>\n";

return result;
} catch (SQLException ex) {
Logger.getLogger(menu.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}

ну и начало вывода

build_menu("0")

кто поможет?

http://alteraweb.ru (http://alteraweb.ru), http://citycycling.ru (http://citycycling.ru) http://www.free-lance.ru/users/Attar/ (http://www.free-lance.ru/users/Attar/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий