⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findaction.java

📁 实现动态加载菜单
💻 JAVA
字号:
package com.test.struts.action;import java.io.UnsupportedEncodingException;import java.util.List;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import net.sf.navigator.menu.MenuComponent;import net.sf.navigator.menu.MenuRepository;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import com.Hibernate.MenuItem;import com.Hibernate.SessionFactory;public class FindAction extends Action {	public ActionForward execute(		ActionMapping mapping,		ActionForm form,		HttpServletRequest request,		HttpServletResponse response) {		try{			request.setCharacterEncoding("GB2312");		}catch ( Exception e ){}		//创建连接		Session session=SessionFactory.currentSession();		//创建事务		Transaction tx=session.beginTransaction();		//创建对话		Query query=session.createQuery("FROM MenuItem m order by id");		List list=query.list();		//事务提交		tx.commit();		if(list.size()<0)			return mapping.getInputForward();		MenuRepository repository = new MenuRepository();		HttpSession httpsession=(HttpSession)request.getSession();		ServletContext application=(ServletContext)httpsession.getServletContext();		MenuRepository defaultRepository = (MenuRepository)application.getAttribute(MenuRepository.MENU_REPOSITORY_KEY);		repository.setDisplayers(defaultRepository.getDisplayers()); 		for (int i=0; i < list.size(); i++) { 			MenuComponent mc = new MenuComponent(); 			MenuItem mi=(MenuItem) list.get(i); 			String name = mi.getName();            mc.setName(name);            String parent = (String) mi.getParentName();            //System.out.println(name + ", parent is: " + parent);            if (parent != null) {                MenuComponent parentMenu = repository.getMenu(parent);                if (parentMenu == null) {                    //System.out.println("parentMenu '" + parent + "' doesn't exist!");                    // create a temporary parentMenu                    parentMenu = new MenuComponent();                    parentMenu.setName(parent);                    repository.addMenu(parentMenu);                }                mc.setParent(parentMenu);            }            String title = (String)mi.getTitle();            try {				title=new String( title.getBytes("ISO8859_1") );			} catch (UnsupportedEncodingException e) {				e.printStackTrace();			}            mc.setTitle(title);            String location = (String) mi.getLocation();            String target = (String)mi.getTarget();            //System.out.println( "name:" + name + ",location:" + location );            if ( location != null )            	mc.setLocation(location);            if ( target!= null )	            mc.setTarget( target );            repository.addMenu(mc);		} 		request.setAttribute("repository", repository);		return mapping.findForward("okGo");	}}

⌨️ 快捷键说明

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