<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks

    基本配置我就不多說了,網上多的很,我這里只說一下具體實現,呵呵

     

    采用Struts+Hibernate

    一、新建菜單表:表根據配置文件自己建吧,我這里就不寫了

    二、建立表對應的Hibernate的配置文件及JAVABEAN

    <?xml version="1.0" encoding="utf-8"?>

    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

    <!--

        Mapping file autogenerated by MyEclipse - Hibernate Tools

    -->

    <hibernate-mapping>

        <class name="com.wz.hibernate.Menu" table="menu" catalog="gknews">

            <id name="id" type="java.lang.Integer">

                <column name="id" />

                <generator class="native" />

            </id>

            <property name="parent" type="java.lang.String">

                <column name="parent" not-null="true" />

            </property>

            <property name="name" type="java.lang.String">

                <column name="name" length="45" not-null="true" />

            </property>

            <property name="target" type="java.lang.String">

                <column name="target" length="45" not-null="true" />

            </property>

        </class>

    </hibernate-mapping>

    package com.wz.hibernate;

     

    public class Menu  implements java.io.Serializable {

     

         private Integer id;

         private String parent;

         private String name;

         private String target;

     

        /** default constructor */

        public Menu() {

        }

        /** full constructor */

        public Menu(String parent, String name, String target) {

            this.parent = parent;

            this.name = name;

            this.target = target;

        }  

        // Property accessors

        public Integer getId() {

            return this.id;

        }   

        public void setId(Integer id) {

            this.id = id;

        }

        public String getParent() {

            return this.parent;

        }   

        public void setParentId(String parent) {

            this.parent = parent;

        }

        public String getName() {

            return this.name;

        }   

        public void setName(String name) {

            this.name = name;

        }

        public String getTarget() {

            return this.target;

        }   

        public void setTarget(String target) {

            this.target = target;

    }

    }

    三、ActionForm

    /*

     * Generated by MyEclipse Struts

     * Template path: templates/java/JavaClass.vtl

     */

    package com.wz.struts_menu.struts.form;

     

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts.action.ActionErrors;

    import org.apache.struts.action.ActionForm;

    import org.apache.struts.action.ActionMapping;

    public class TestMenuForm extends ActionForm {

          

           private String parent;

           private String title;

           private String target;

           private Integer id;

           public ActionErrors validate(ActionMapping mapping,

                         HttpServletRequest request) {

                  // TODO Auto-generated method stub

                  return null;

           }

           public void reset(ActionMapping mapping, HttpServletRequest request) {

                  // TODO Auto-generated method stub

           }

           public String getParent() {

                  return parent;

           }

           public void setParentId(String parent) {

                  this.parent = parent;

           }

           public String getTitle() {

                  return title;

           }

           public void setTitle(String title) {

                  this.title = title;

           }

           public String getTarget() {

                  return target;

           }

           public void setTarget(String target) {

                  this.target = target;

           }

           public Integer getId() {

                  return id;

           }

           public void setId(Integer id) {

                  this.id = id;

           }

    }

    四、Action

    /*

     * Generated by MyEclipse Struts

     * Template path: templates/java/JavaClass.vtl

     */

    package com.wz.struts_menu.struts.action;

     

    import java.util.List;

    import javax.servlet.ServletContext;

    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.wz.hibernate.Menu;

    import com.wz.hibernate.MenuItem;

    import com.wz.hibernate.SessionFactory;

    import com.wz.struts_menu.struts.form.TestMenuForm;

    public class TestMenuAction extends Action {

          

           public ActionForward execute(ActionMapping mapping, ActionForm form,

                         HttpServletRequest request, HttpServletResponse response) {

                  TestMenuForm testMenuForm = (TestMenuForm) form;// TODO Auto-generated method stub

                 

                  Session session=SessionFactory.getSession();

                  //創建事務

                  Transaction tx=session.beginTransaction();

                  //創建對話

                  Query query=session.createQuery("FROM Menu 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();

                       

                        Menu mi=(Menu) list.get(i);

                       

                        String name = mi.getName();       

                mc.setName(name);

               

                String parent = (String) mi.getParentId();

               

                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.getName();

                mc.setTitle(title);

                String location = (String) mi.getTarget();

                mc.setLocation(location);

                repository.addMenu(mc);

                  }

                 request.setAttribute("repository", repository);

                  return mapping.findForward("okGo");

           }    

    }

     

    五、JSP

    <%@ page contentType="text/html;charset=UTF-8" language="java"%>

    <%@ taglib uri="/WEB-INF/struts-menu.tld" prefix="menu" %>

    <%@ taglib uri="/WEB-INF/struts-menu-el.tld" prefix="menu-el" %>

    <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

    <head>

        <title>Dynamic, Database-driven Menu</title>

        <link rel="stylesheet" type="text/css" media="all"

            href="<c:url value="/styles/menuExpandable.css"/>" />

        <script type="text/javascript"

            src="<c:url value="/scripts/menuExpandable.js"/>"></script>

        <link rel="stylesheet" type="text/css" media="all" href="<c:url value="/styles/xtree.css"/>" />

        <script type="text/javascript" src="<c:url alue="/scripts/xtree.js"/>"></script>

        <link rel="stylesheet" type="text/css" media="all" href="<c:url value="/styles/global.css"/>" />

        <script type="text/javascript">

            /* Function for showing and hiding elements that use 'display:none' to hide */

            function toggleDisplay(targetId) {

                if (document.getElementById) {

                    target = document.getElementById(targetId);

                    if (target.style.display == "none"){

                        target.style.display = "";

                    } else {

                        target.style.display = "none";

                    }

                }

            }

        </script>

    </head>

    <body>

        <div class="dynamicMenu">

            <menu:useMenuDisplayer name="ListMenu" repository="repository">

                <menu:displayMenu name="新浪"/>

                <menu:displayMenu name="網易"/>

            </menu:useMenuDisplayer>

        </div>

    </body>

    </html>

     

    六、Struts-config.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

     

    <struts-config>

      <data-sources />

      <form-beans />

      <global-exceptions />

      <global-forwards >   

        <forward name="okGo" path="/ok.jsp" /> 

      </global-forwards>

      <action-mappings >

        <action path="/testAction" type="com.wz.struts_menu.struts.action.TestMenuAction" />

      </action-mappings>

      <message-resources parameter="com.wz.struts_menu.struts.ApplicationResources" />

     

      <plug-in className="net.sf.navigator.menu.MenuPlugIn">

        <set-property property="menuConfig" value="/WEB-INF/menu-config.xml" />

      </plug-in>

    </struts-config>

     

    這樣就算完成了,呵呵;學習中……

     



    posted on 2007-05-17 18:54 java_蟈蟈 閱讀(2418) 評論(1)  編輯  收藏

    評論

    # re: Struts-menu 權限控制 2011-08-23 09:18 jspc
    學習著  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲三级在线视频| 亚洲一级毛片在线播放| 男人和女人高潮免费网站| 大学生高清一级毛片免费| 亚洲AV无码无限在线观看不卡| aⅴ在线免费观看| 亚洲美女aⅴ久久久91| 亚洲电影在线免费观看| 亚洲一区二区三区久久| AV片在线观看免费| 国产精品亚洲精品久久精品| yy6080久久亚洲精品| 免费精品视频在线| 国产成人精品日本亚洲专区61 | 日韩亚洲Av人人夜夜澡人人爽 | yellow免费网站| 亚洲精品无码Av人在线观看国产| 色www永久免费| 亚洲黄色在线播放| 午夜神器成在线人成在线人免费| 亚洲欧洲无卡二区视頻| 国产传媒在线观看视频免费观看| 草久免费在线观看网站| 亚洲国产第一站精品蜜芽| 亚洲午夜免费视频| 亚洲色大成网站www| 国产亚洲精品拍拍拍拍拍| 57pao国产成视频免费播放| 亚洲综合无码一区二区痴汉| www.亚洲色图.com| 免费人成视频在线观看网站| 亚洲黄色激情视频| 亚洲一区视频在线播放| 67pao强力打造国产免费| 老司机午夜精品视频在线观看免费| 国产日韩成人亚洲丁香婷婷| 99精品一区二区免费视频| 久久精品国产亚洲av天美18| 亚洲处破女AV日韩精品| 成人影片麻豆国产影片免费观看| 一级毛片aaaaaa视频免费看|