menuordercontroller.java

来自「Java的框架」· Java 代码 · 共 95 行

JAVA
95
字号
package mcaps.core.menu.webapp.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import mcap.core.menu.model.Menu;
import mcap.core.menu.service.MenuManager;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.view.RedirectView;

/**
 * This class interacts with the MenuManager to handle request to update the
 * ordering of the menu item to data store.
 * @author Tan Beng Suang
 * @date 05-Sep-2005
 * @version 1.0.1.0
 */
public class MenuOrderController implements Controller {

	private MenuManager menuManager;

	/**
	 * Returns the menuManager.
	 * @return MenuManager
	 */
	public MenuManager getMenuManager () {
		return menuManager;
	}

	/**
	 * Sets the menuManager.
	 * @param menuManager The menuManager to set.
	 */
	public void setMenuManager (MenuManager menuManager) {
		this.menuManager = menuManager;
	}

	/*
	 * (non-Javadoc)
	 * @see org.springframework.web.servlet.mvc.Controller#handleRequest(javax.servlet.http.HttpServletRequest,
	 *      javax.servlet.http.HttpServletResponse)
	 */
	public ModelAndView handleRequest (HttpServletRequest req,
			HttpServletResponse resp) throws Exception {
		
		String menuId = req.getParameter ("menuId");
		String parentId = req.getParameter ("parentId");
		String direction = req.getParameter ("direction");
		
		Menu menu = new Menu ();
		menu.setParentId (parentId);
		
		List list = this.getMenuManager().getMenus (menu);
		
		int index = 0;
		
		for (int i = 0; i < list.size (); i++) {
			menu = (Menu) list.get(i);
			if (menu.getId().equals(menuId)) {
				index = i;
				break;
			}
		}
		
		if (direction.equals("up")) {
			menu = (Menu) list.remove (index);
			list.add(index - 1, menu);
		}
		else {
			menu = (Menu) list.remove (index);
			list.add (index + 1, menu);
		}
		
		for (int i = 0; i < list.size(); i++) {
			menu = (Menu) list.get(i);
			menu.setOrdering(i);
			this.getMenuManager().saveMenu(menu);
		}
		
		
		if (parentId.equals("-1")) {
			return new ModelAndView (new RedirectView ("listMenus.action"));
		}
		else {
			return new ModelAndView (new RedirectView ("editMenu.action?menuId=" +
										parentId + "&method=Edit&order=change#bP"));
		}
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?