標籤:servlet erro err value div resources 密鑰 business oca
我們先示範要實現的功能:
單擊:
我們看著有三個子模組:
點擊模組管理:
在模組管理中,我們可以設定一共有幾個模組,每個模組裡面有哪些具體的操作等。
角色管理:
給角色指派許可權。
好,我們接下來看具體的實現:
我們先把第三方系統引入到工程中:
import工程。
然後修改sysconfig,和sysmanager系統中的/WEB-INF/proxool.xml檔案
接著
然後重啟Tomcat.
然後修改代碼:
我們增加下面連個Action層:其實我們的第三方系統的實現原理就是我們從自己的項目中的Acion進入然後進入到第三方系統中:
我們看一下SysConfigAcion.java:
package yycg.base.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import yycg.base.pojo.vo.ActiveUser;import yycg.base.process.context.Config;import yycg.util.ResourcesUtil;import yycg.util.Vcom_3DES;@Controller @RequestMapping("/sysconfig")public class SysConfigAction { //產生加密串 private String buildString(String userid,String pwd)throws Exception{ //從設定檔擷取密鑰 String key= ResourcesUtil.getValue(Config.SYSCONFIG, "deskey"); //待加密串 String oldstring = userid + "#" + pwd + "#" + System.currentTimeMillis(); System.out.println("原始串="+oldstring); //進行3des加密,1表示加密,key:密鑰 Vcom_3DES tempDesEn = new Vcom_3DES(1, oldstring, key); //加密後的串 String strTemp = tempDesEn.Vcom3DESChiper(); return strTemp; } //sysmanagerurl_modulelist=http://localhost:8080/sysmanager/module/show.do?loginkeyString= /** * 模組操作管理 */ @RequestMapping("/modulelist") public String modulelist(HttpServletRequest request)throws Exception{ HttpSession session = request.getSession(); ActiveUser activeUser = (ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY); String userid = activeUser.getUserid(); //產生加密串 String strTemp=buildString(userid,"test"); //組織介面址 //從設定檔擷取介面址 //擷取模組管理的介面址 String module_url = ResourcesUtil.getValue(Config.SYSCONFIG, "sysmanagerurl_modulelist"); //將加密後的串追加到介面址後 String url = module_url+strTemp; return View.redirect(url);//轉到第三方系統 } //角色管理sysmanagerurl_rolelist=http://localhost:8080/sysmanager/role/show.do?loginkeyString= /** * 角色管理 */ @RequestMapping("/rolelist") public String rolelist(HttpServletRequest request)throws Exception{ HttpSession session = request.getSession(); ActiveUser activeUser = (ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY); String userid = activeUser.getUserid(); //產生加密串 String strTemp=buildString(userid,"test"); //組織介面址 //從設定檔擷取介面址 //擷取模組管理的介面址 String rolelist_url = ResourcesUtil.getValue(Config.SYSCONFIG, "sysmanagerurl_rolelist"); //將加密後的串追加到介面址後 String url = rolelist_url+strTemp; return View.redirect(url);//轉到第三方系統 } //系統參數配置sysconfigurl_basicinfo=http://localhost:8080/sysconfig/admin/findBasicinfoList.action?loginkeyString= /** * 系統參數配置 */ @RequestMapping("/basicinfo") public String basicinfo(HttpServletRequest request)throws Exception{ HttpSession session = request.getSession(); ActiveUser activeUser = (ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY); String userid = activeUser.getUserid(); //產生加密串 String strTemp=buildString(userid,"test"); //組織介面址 //從設定檔擷取介面址 //擷取模組管理的介面址 String basicinfo_url = ResourcesUtil.getValue(Config.SYSCONFIG, "sysconfigurl_basicinfo"); //將加密後的串追加到介面址後 String url = basicinfo_url+strTemp; return View.redirect(url);//轉到第三方系統 }}
我們在看一下:View.java:
package yycg.base.action;import yycg.base.process.context.Config;/** * controller視圖處理公用方法類 * * @author mrt * */public class View { /** * 通用的成功jsp分頁檔名 */ public static final String SUCCESS = "success"; /** * 通用的失敗jsp分頁檔名 */ public static final String ERROR = "error"; /** * 返回base模組jsp路徑方法,其它模組可照此添加 * * @param page * jsp檔案名稱 * @return */ public static String toBase(String page) { return Config.PAGE_PATH_BASE + page; } /** * 返回業務模組jsp路徑方法,其它模組可照此添加 * * @param page * jsp檔案名稱 * @return */ public static String toBusiness(String page) { return Config.PAGE_PATH_BUSINESS + page; } /** * action返回成功頁面方法 * * @return */ public static String toSuccess() { return Config.PAGE_PATH_BASE + SUCCESS; } /** * action返回操作失敗頁面方法 * * @return */ public static String toError() { return Config.PAGE_PATH_BASE + ERROR; } /** * action以redirect方式重新導向到自訂url * * @param url * @return */ public static String redirect(String url) { return "redirect:" + url; } /** * action以forward方式定向到自訂頁面 * * @param url * @return */ public static String forward(String url) { return "forward:" + url; } }
最後我們看一下,頁面怎麼寫。
我們知道我們的左側菜單都是在meanu.json裡面的寫的,這次也是一樣:
menu.json如下:
{"icon" : "icon-sys","menuid" : "1","menuname" : "第三方系統","url" : "","menus" : [ {"icon" : "icon-log","menuid" : "1_1","menuname" : "模組管理","url" : "/yycgproject/sysconfig/modulelist.action" }, {"icon" : "icon-log","menuid" : "1_1","menuname" : "角色管理","url" : "/yycgproject/sysconfig/rolelist.action" }, {"icon" : "icon-log","menuid" : "1_1","menuname" : "系統參數管理","url" : "/yycgproject/sysconfig/basicinfo.action" } ] },
這樣子我們就實現了上面的功能了。因為這兩個第三方空間都是從源系統中拷貝出來的,所有都編輯好了,不需要我們去編輯。
下面的文章要實現的功能是:根據使用者顯示不同的菜單。使用者不用,顯示的菜單不同。
049醫學項目-模組五:使用權限設定-第三方系統的接入