import java.net.MalformedURLException;
import java.net.URL;
+import javax.servlet.http.HttpServletRequest;
+
public class Navigation {
private NavigationItem rootNavigationItem;
private NavigationItem defaultNavigationItem;
+ public NavigationItem getDefaultNavigationItem() {
+ return defaultNavigationItem;
+ }
+
public NavigationItem getRootNavigationItem() {
return rootNavigationItem;
}
- public NavigationItem getSelectedItem(final String requestUrl) {
+ public NavigationItem getSelectedItem(final HttpServletRequest request) {
+ final String requestUrl = request.getRequestURL().toString();
try {
final String requestPath = new URL(requestUrl).getPath();
e.printStackTrace();
}
- return defaultNavigationItem;
+ return getDefaultNavigationItem();
}
- public String getTopMenu(final String requestUrl) {
+ public String getTopMenu(final HttpServletRequest request) {
- final NavigationItem selectedItem = getSelectedItem(requestUrl);
+ final NavigationItem selectedItem = getSelectedItem(request);
final StringBuffer result = new StringBuffer();
- result.append("<div id=\"topNavigation\">");
+ result.append("<div class=\"navigationMenu\">");
- for (final NavigationItem item : rootNavigationItem.getSubElements()) {
+ for (final NavigationItem item : getRootNavigationItem()
+ .getSubElements()) {
if (item == selectedItem)
- result.append("<a class=\"selected\" href=\"" + item.getLink()
- + "\">");
+ result.append("<a class=\"menuItemSelected\" href=\""
+ + item.getLinkUrl() + "\">");
else
- result.append("<a href=\"" + item.getLink() + "\">");
+ result.append("<a class=\"menuItem\" href=\""
+ + item.getLinkUrl() + "\">");
- result.append(item.getTitle());
+ result.append("<div>" + item.getTitle() + "</div>");
result.append("</a>");
}
return result.toString();
}
+ public void setDefaultNavigationItem(
+ final NavigationItem defaultNavigationItem) {
+ this.defaultNavigationItem = defaultNavigationItem;
+ }
+
public void setRootNavigationItem(final NavigationItem rootNavigationItem) {
this.rootNavigationItem = rootNavigationItem;
}