- 浏览: 16927 次
- 性别:
- 来自: 济南
文章分类
最新评论
1.
2.
二次Rev 贴上去.
//================
页面效果
1.主要Action: ResDataAction ,SimpleHelpAction
2.页面部分.
userList.jsp 开始页面 ,点击帮助,进入 选择权限可.
resData下的三个主要页面.
resdataDetail.jsp
resDataList.jsp 左边显示全部的信息. Ok.
simpleHelp.jsp
3.struts.xml
struts-adminx.xml
/=================
可扩展部分:
加上复选框,参见 examAction. 考试章节管理. 谢国芹的.
ResDataAction 数据权限的action
SimpleHelpAction 帮助页面的action
resdataDetail.jsp
simpleHelp.jsp 弹出的帮助页面
亮点:下拉框值的获取与移动. 优于 之前廖永鹏的.
resDataList.jsp simpleHelp.jsp已加载就ajax请求的嵌入页面
pubHelp.jsp 点击帮助,用于嵌套的.
struts-adminx.xml 控制权限的
2.
二次Rev 贴上去.
//================
页面效果
1.主要Action: ResDataAction ,SimpleHelpAction
2.页面部分.
userList.jsp 开始页面 ,点击帮助,进入 选择权限可.
resData下的三个主要页面.
resdataDetail.jsp
resDataList.jsp 左边显示全部的信息. Ok.
simpleHelp.jsp
3.struts.xml
struts-adminx.xml
/=================
可扩展部分:
加上复选框,参见 examAction. 考试章节管理. 谢国芹的.
ResDataAction 数据权限的action
package com.myland.jp.adminx.resdata.action; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.myland.framework.base.BaseAction; import com.myland.framework.init.BaseConf; import com.myland.framework.sequence.SeqUtil; import com.myland.framework.util.Constants; import com.myland.jp.common.service.ResDataService; import com.myland.pojo.ResData; /** * 数据权限操作action * * @author chenem * @email chenermin@anjia365.com * @create 2014年10月13日 下午8:02:07 */ public class ResDataAction extends BaseAction { private static final long serialVersionUID = 5188450563333761481L; private static final Logger log = LogManager.getLogger(ResDataAction.class); private ResDataService resDataService; private String userId; // 用户id private String resKey; /** * 数据权限对象 */ private ResData resDataBean; // 对象 // 传过来 就id, resData. private String rdNames; private List cfgResDataLst; // 数据权限的option显示用的. private String id; // ? 我不用. private String resData; /** * 反馈信息. 成功 */ private String msg; // /** * 默认方法 */ public String execute() throws Exception { return SUCCESS; } /** * 打开数据权限操作页面 * * @author chenem * @create 2014年10月13日 下午8:06:01 * @return */ public String resDataOpen() { cfgResDataLst = BaseConf.get().getList(BaseConf.RES_DATA); // [AGENT_DATA:代理商] 获取的 键值, XPath. if (StringUtils.isBlank(StringUtils.trim(resKey))) { // 初,key空,得1可. // get()获取配置,getList .get(0 ) agent | 得到key可. resKey = ((String) BaseConf.get().getList(BaseConf.RES_DATA).get(0)).split(":")[0]; } resDataBean = resDataService.getResDataByUserId(userId, resKey); // userId,402,null 有时候为null, // resData带有,的就是显示后面驾校的内容. 几个,,的. rdNames = resDataService.getRdNamesByRd_comma(resDataBean); // return "open"; } /** * 保存数据权限 * * @author lengzl * @create 2014年12月6日 下午5:08:35 * @return */ public String save() { resDataBean = new ResData(); //新加 if(StringUtils.isBlank(StringUtils.trim(id))){ if(StringUtils.isNotBlank(StringUtils.trim(resData))){ resDataBean.setId(SeqUtil.getNextKeyDefaultDsContext(Constants.TSeq.T_RES_DATA)); resDataBean.setResData(resData); resDataBean.setResKey(resKey); resDataBean.setUserId(Long.valueOf(userId)); resDataService.addResData(resDataBean); msg = "新增成功!"; } }else{ if(StringUtils.isBlank(StringUtils.trim(resData))){ resDataService.delResData(Long.valueOf(id)); msg = "修改成功!"; }else{ resDataBean.setId(Long.valueOf(id)); resDataBean.setResData(resData); resDataService.updateResData(resDataBean); msg = "修改成功!"; } } return resDataOpen(); } public void setResDataService(ResDataService resDataService) { this.resDataService = resDataService; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getResKey() { return resKey; } public void setResKey(String resKey) { this.resKey = resKey; } public String getRdNames() { return rdNames; } public void setRdNames(String rdNames) { this.rdNames = rdNames; } public List getCfgResDataLst() { return cfgResDataLst; } public String getId() { return id; } public void setId(String id) { this.id = id; } public ResData getResDataBean() { return resDataBean; } public void setResDataBean(ResData resDataBean) { this.resDataBean = resDataBean; } public String getResData() { return resData; } public void setResData(String resData) { this.resData = resData; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
SimpleHelpAction 帮助页面的action
package com.myland.jp.adminx.resdata.action; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.myland.framework.base.BaseAction; import com.myland.framework.init.BaseConf; import com.myland.framework.mybatis.query.Condition; import com.myland.framework.mybatis.query.CxxString; import com.myland.framework.mybatis.query.DefaultQueryRulesCreator; import com.myland.framework.mybatis.query.QueryCriterion; import com.myland.framework.util.ExceptionPrintUtil; import com.myland.jp.common.service.ResDataService; import com.myland.pojo.ResData; import com.myland.pojo.User; /** * 报名管理???通用帮助 * * * 作者:WuM * 日期:2012-12-8 * */ public class SimpleHelpAction extends BaseAction { private static final long serialVersionUID = -6809838912828224054L; private static final Logger log = LogManager.getLogger(SimpleHelpAction.class); private ResDataService resDataService; private String userId; /** * 搜索的名字,如 agent的名字. */ private String sechName; private String idAndName; private String resKeyValue; private String selectIdAndNames; private String info; private String resKey; // 下拉框的值 **) 将原页面的 c 同意换成resKey ★) private List> resDataList; private QueryCriterion qc; private String bar; /** * 通用帮助 * * @return * @throws Exception */ public String simpleHelp() throws Exception { User curuser = (User) getRequest().getSession().getAttribute("curuser"); if (curuser == null) { getRequest().setAttribute("err", "session信息丢失!"); getRequest().setAttribute("rtnurl", BaseConf.get().getString(BaseConf._ADMINX_NAMED_RESOURCES_LOGIN)); return ERROR; } ResData rd = resDataService.getResDataByUserId(userId, resKey); //ResData对象. if(rd != null){ info = resDataService.getRdNamesByRd(rd); //, |的格式. } return SUCCESS; } /** * 查询data * 查询全部的List //要确保,可以查agent... ★) * @author lengzl * @create 2014年12月6日 下午12:22:42 * @return */ public String resDataSearch() { if(StringUtils.isNotBlank(StringUtils.trim(sechName))){ try { sechName = java.net.URLDecoder.decode(sechName,"UTF-8";); } catch(UnsupportedEncodingException e) { log.error("转码出现异常!"); ExceptionPrintUtil.PrintErrorMessage(e, log); } } qc = getQueryCriterion(new DefaultQueryRulesCreator() { private static final long serialVersionUID = -6488407568459794160L; public Map createConditions() { Map conditions = new HashMap(); conditions.put("resKey", new CxxString(resKey)); if (StringUtils.isNotBlank(StringUtils.trim(sechName))) { conditions.put("sechName", new CxxString(sechName)); } return conditions; } }); //分页部分 qc.getPagination().setPageSize(3); resDataList = resDataService.getViewResDate(qc); qc.getPagination().setShowType("001"); //默认显示的. bar = qc.getPagination().toBar(); return "list"; } public String getSechName() { return sechName; } public void setSechName(String sechName) { this.sechName = sechName; } public String getIdAndName() { return idAndName; } public void setIdAndName(String idAndName) { this.idAndName = idAndName; } public String getResKeyValue() { return resKeyValue; } public void setResKeyValue(String resKeyValue) { this.resKeyValue = resKeyValue; } public String getSelectIdAndNames() { return selectIdAndNames; } public void setSelectIdAndNames(String selectIdAndNames) { this.selectIdAndNames = selectIdAndNames; } public QueryCriterion getQc() { return qc; } public void setQc(QueryCriterion qc) { this.qc = qc; } public String getResKey() { return resKey; } public void setResKey(String resKey) { this.resKey = resKey; } public List> getResDataList() { return resDataList; } public void setResDataList(List> resDataList) { this.resDataList = resDataList; } public void setResDataService(ResDataService resDataService) { this.resDataService = resDataService; } public String getBar() { return bar; } public void setBar(String bar) { this.bar = bar; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } }
resdataDetail.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="/common/common.jsp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/adminx/style-traditional.css" /> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/adminx/basic_layout.css"> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/adminx/common_style.css"> <script type="text/javascript" src="${pageContext.request.contextPath}/js/common/jquery/jquery-1.7.2.js"></script> <title>数据权限</title> <script type="text/javascript"> /* 保存的 */ function doSave(){ document.fm.action="${pageContext.request.contextPath}/adminx/resDataAction!save.do"; document.fm.submit(); } function doChangeKey(){ //jquery提交. document.fm.action="${pageContext.request.contextPath}/adminx/resDataAction!resDataOpen.do"; document.fm.submit(); } function showHelp() { var helpInfo = $("#resKey").val(); // 下拉框的值 var resData = $("#resData").val(); var userId = $("#userId").val(); var helpUrl = "${pageContext.request.contextPath}/adminx/simpleHelp.do&resKey=" + helpInfo + "&resKeyValue=" + resData+"&userId="+userId; var diaUrl = "${pageContext.request.contextPath}/common/pubHelp.jsp?url=" + helpUrl; //helpUrl就是simple.jsp的页面. //规定一些简单 窗体的样式 接收数据父窗体. var res=showModalDialog(diaUrl,window,"dialogHeight=600px;dialogWidth=800px;status=no;"); alert("res的值(有,则可以获取,则可以显示.!!!):"+res); //res在 if(typeof(res)!="undefined"){ //防止什么都没有选择,直接点击确定. if($.trim(res) == ''){ $("#rdNames").html(''); $("#resData").attr('value',null); //就是resData. return; } ress = res.split(","); var ids = ""; var names = ""; for(var i = 0;i<ress.length;i++){ var one = ress[i].split(":"); if(i!=0){ //不=0,就要先加一个, ids = ids + ","; names = names + ","; } ids = ids + one[0]; names = names + one[1]; } document.getElementById("resData").value=ids; //ids 是用,的String document.getElementById("rdNames").innerText=names; } } </script> </head> <body> <form name="fm" action="" method="post"> <div id="container"> <div class="ui_content"> <div class="ui_text_indent"> <div id="box_border"> <div id="box_top">查看用户权限信息</div> <div id="box_center" align="right"> <a class="a1" href="#" onclick="doSave();">保存</a> <img src="${pageContext.request.contextPath}/adminx/images/sep.gif" align="absmiddle" /> <a class="a1" href="${pageContext.request.contextPath}/adminx/getUsersInfo.do?conditions=keep">返回</a> </div> </div> </div> </div> <div class="ui_content"> <fieldset> <table class="detail"> <tr> <td class="label">数据权限:</td> <td class="data"> <!-- 后 用resData.resKey --> <select id="resKey" name="resKey" onChange="javascript:doChangeKey();" class="ui_input_txt04"> <c:if test="${not empty cfgResDataLst}"> <c:forEach items="${cfgResDataLst }" var="cfgResData"> <c:set var="oneKeyArr" value="${fun:split(cfgResData, ':') }" scope="page"></c:set> <%--拆分的方法. **lzl --%> <option value="${pageScope.oneKeyArr[0] }" <c:if test="${resKey == pageScope.oneKeyArr[0]}">selected</c:if> >${pageScope.oneKeyArr[1] }</option> </c:forEach> </c:if> </select> <a href="javascript:showHelp();">帮助</a> <span id="rdNames" style="color:red">${rdNames }</span> <input type="hidden" name="resData" id="resData" value="${resDataBean.resData}"/> <input type="hidden" name="id" id="id" value="${resDataBean.id}"/> <input type="hidden" name="userId" id="userId" value="${userId}"/> </td> </tr> </table> </fieldset> </div> </div> </form> </body> </html>
simpleHelp.jsp 弹出的帮助页面
亮点:下拉框值的获取与移动. 优于 之前廖永鹏的.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="/common/common.jsp"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/adminx/style-traditional.css" /> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/webcustomer/pagination.css" /> <%-- 引入分页样式.--%> <script type="text/javascript" src="${pageContext.request.contextPath}/js/common/jquery/jquery-1.7.2.js"></script> <title>数据权限</title> <script type="text/javascript"> var resKey ; /* 页面渲染完执行 */ $(document).ready( function() { //alert(resKey); resKey = '${resKey}'; //加载左边信息resKey $.post("${pageContext.request.contextPath}/adminx/searchData.do?resKey="+ resKey, function(data) { $("#showAllData").replaceWith(data); //左边的页面. }); }); /* 增加选中 */ function addSelect() { var array = getSelectedId(); $("#AllOpts :selected").each(function(i, selected) { //双重循环判断. 每个付给selected变量. var temp = 0; //or false for (j = 0; j < array.length; j++) { if($(selected).val() == array[j]){ temp = 1; break ; } } if(temp==0){ $("#SelOpts").append("<option value='"+$(selected).val()+"'>"+$(selected).text()+"</option>"); } temp = 0; }); //setSel(); } /* *点击确定 */ function doConfirm(){ //way2:传拼串. IE9等可用 var tempSel=""; //alert("长度:"+$("#SelOpts option").length); $("#SelOpts option").each(function(){ //alert(2); var val=$(this).val(); var txt=$(this).text(); alert(val+""+txt); if(tempSel==""){ //第一次不要, tempSel=val+":"+txt; }else{ tempSel=tempSel+","+val+":"+txt; } }) parent.returnValue = tempSel; //★ 传递拼串. parent.close(); //way1 B:数组. 无法子传递 父.只有IE8可用 //var result = new Array(); //$("#SelOpts option").val(); //遍历获取值. /* var i = 0; $("#SelOpts option").each(function(){ var val=$(this).val(); var txt=$(this).text(); result[i]=val+":"+txt; //i无索引.长度不确定啊. i++; }) //parent.returnValue = result; //父窗体的值. */ } /* * 删除选中 */ function moveLeft(){ $("#SelOpts option:selected").remove(); setSel(); } //获取右边 已有的 所有选中的信息 function getSelectedId() { var array = new Array(); //数组. $("#SelOpts option").each(function() { array.push($(this).val()); }); return array; } /* 翻页 */ function myLandPageClick(url, pageNo) { var visUrl = url + pageNo; $.post(visUrl, function(data) { $("#showAllData").replaceWith(data); }) } function doClose() { parent.close(); //public..jsp关闭可. } function doClear(){ //确定吗? $("#SelOpts option").each(function(){ //遍历集合元素. //$("#SelOpts option").remove(); //可 |无remove all. $(this).remove(); //也可. }); //setSel(); } //左边的模糊查询 function searchDatas(){ var url; var sechName = $("#sechName").val(); if($.trim(sechName)==''){ url = "${pageContext.request.contextPath}/adminx/searchData.do?resKey="+ resKey; }else{ url = "${pageContext.request.contextPath}/adminx/searchData.do?resKey="+ resKey+"&sechName="+sechName; } url = encodeURI(encodeURI(url)); //URL编码与二次encodeURI $.post(url, function(data) { $("#showAllData").replaceWith(data); //左边的页面. }); } <%--设置选择项--%> function setSel(){ //不传递数组 var seLOpts = document.all("SelOpts"); //所有元素的集合. ★) var lens = selOpts.options.length; var SEL_OPTS=document.all("SEL_OPTS"); var tempSel=""; for(var i=0;i<lens;i++){ var val=selOpts.options[i].value; var showName=selOpts.options[i].innerText; if(tempSel==""){ tempSel=val+":"+showName; }else{ tempSel=tempSel+","+val+":"+showName; } } SEL_OPTS.value=tempSel; //付给 ,:的格式. } </script> </head> <body> <table width="100%" ><%--border="1px solid black;" --%> <tr> <td align="right"> <a href="#" onclick="doConfirm();">确定</a> <a href="#" onclick="doClose();">关闭</a> <a href="#" onclick="doClear();">清除</a> </td> </tr> <tr> <td> <hr/> </td> </tr> </table> <table width="100%"> <tr> <td colspan="3"> <table width="100%" border="1"> <tr> <td> 名称: </td> <td> <input type="text" id="sechName" name="sechName"/> </td> <td> <input type="button" onclick="searchDatas();" value="查询"> </td> </tr> </table> </td> </tr> <tr> <td width="40%"> <div id="showAllData"></div> </td> <td width="20%"> <input type="button" value="增加 >" onclick="addSelect()" /> <input type="button" value="< 删除 " onclick="moveLeft()"> </td> <td> <td width="40%"> <%--已选项 --%> <div id="showSelectData"> <input type="hidden" name="SEL_OPTS" value="${SEL_OPTS }"/> <%--怎么传值? --%> <select id="SelOpts" name="SelOpts" size='35' style="width: 150; height: 400" multiple="multiple"> <c:forTokens items="${info}" delims="|" var="message"> <c:set var="oneKeyArr" value="${fun:split(message, ',') }" scope="page"></c:set> <option value="${pageScope.oneKeyArr[0]}">${pageScope.oneKeyArr[1]}</option> </c:forTokens> </select> </div> </td> </tr> </table> </body> </html>
resDataList.jsp simpleHelp.jsp已加载就ajax请求的嵌入页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="/common/common.jsp" %> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/webcustomer/pagination.css" /> <div id="showAllData"> <c:choose> <c:when test="${empty resDataList}"> 没有权限信息! </c:when> <c:otherwise> <select id="AllOpts" name= "AllOpts" size='35' style="width:150 ; height:400;" multiple="multiple"> <c:forEach items="${resDataList}" var="resData"> <option value='${resData.id }'>${resData.name }</option> </c:forEach> </select> ${bar} </c:otherwise> </c:choose> </div>
pubHelp.jsp 点击帮助,用于嵌套的.
<%@ page contentType="text/html; charset=utf-8"%> <%@ include file="/common/common.jsp"%> <%@ page language="java" pageEncoding="UTF-8"%> <%@ page import="java.util.Enumeration"%> <HTML> <HEAD> <TITLE>通用帮助</TITLE> </HEAD> <body> <table border="0" width="100%" cellspacing="0" cellpadding="0" bgcolor=white> <tr> </tr> </table> <% Enumeration pname = request.getParameterNames(); String para = ""; String cmd = ""; while (pname.hasMoreElements()) { String temp = (String) pname.nextElement(); if (!temp.equals("url")) { if (para.equals("")) { para = temp + "="; } else { para = para + "&" + temp + "="; } para += request.getParameter(temp); } else cmd = request.getParameter(temp); } %> <iframe style="width: 100%; height: 495px;" FRAMEBORDER=0 SCROLLING=yes id="ifFrm" name="ifFrm" src=""></IFRAME> </body> </HTML> <script language="javascript"> function init(){ var ifSrc = "<%=cmd + '?' + para%>"; var ifFrm=document.all("ifFrm"); ifFrm.src = ifSrc; } init(); </script>
struts-adminx.xml 控制权限的
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://struts.apache.org/dtds/struts-2.1.7.dtd"> <struts> <!-- 后台管理员action配置 --> <package name="adminx" extends="default" namespace="/adminx"> <!-- 后台管理员拦截器队列 --> <interceptors> <interceptor-stack name="adminxInterceptorStack"> <interceptor-ref name="myLandInterceptorStack"></interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="adminxInterceptorStack"/> <!-- 后台用户登录action --> <action name="adminLogin" class="com.myland.jp.adminx.login.action.AdminLoginAction"> <result name="success">/adminx/login/adminLogin.jsp</result> <result name="home">/adminx/home/home.jsp</result> </action> <!-- 后台考题管理action --> <action name="examAction" class="com.myland.jp.adminx.exam.action.ExamAction"> <result name="success">/adminx/exam/examList.jsp</result> <result name="addexam">/adminx/exam/examAdd.jsp</result> <result name="editexam">/adminx/exam/examUpdate.jsp</result> <result name="batchAddExam">/adminx/exam/examBatchAdd.jsp</result> </action> <!-- 后台试卷管理action --> <action name="testPaperAction" class="com.myland.jp.adminx.testpaper.action.TestPaperAction"> <result name="success">/adminx/testpaper/testPaperList.jsp</result> <result name="addtestpaper">/adminx/testpaper/testPaperAdd.jsp</result> <result name="forupdatetestpaper">/adminx/testpaper/testPaperUpdate.jsp</result> </action> <!-- 学习计划 --> <action name="plan" class="com.myland.jp.adminx.plan.action.PlanAction"> <result name="success">/adminx/plan/planList.jsp</result> <result name="conditionSearch">/adminx/plan/planList.jsp</result> <result name="planNode">/adminx/plan/planList.jsp</result> <result name="addPlan">/adminx/plan/planAdd.jsp</result> <result name="modifyPlan">/adminx/plan/planModify.jsp</result> </action> <!-- 学习计划节点 --> <action name="planNode" class="com.myland.jp.adminx.planNode.action.PlanNodeAction"> <result name="success">/adminx/plan/planNodeList.jsp</result> <result name="planList" type="redirect">/adminx/plan.do</result> <result name="planDetail">/adminx/plan/planNodeAdd.jsp</result> <result name="planNodeInterface">/adminx/plan/interfaceList.jsp</result> <result name="planNodeJsMethod">/adminx/plan/jsPlanNode.jsp</result> <result name="orderPlanNode">/adminx/plan/orderPlanNode.jsp</result> </action> <action name="planNodeCourse" class="com.myland.jp.adminx.planNode.action.PlanNodeAction" method="showPlanCourse"> <result name="planNodeCourse">/adminx/plan/courseList.jsp</result> </action> <action name="planNodeExam" class="com.myland.jp.adminx.planNode.action.PlanNodeAction" method="showPlanExam"> <result name="planNodeExam">/adminx/plan/examList.jsp</result> </action> <!-- 代理商 --> <action name="agent" class="com.myland.jp.adminx.agent.action.AgentAction"> <result name="success">/adminx/agent/agentList.jsp</result> <result name="addAgent">/adminx/agent/agentAdd.jsp</result> <result name="modifyAgent">/adminx/agent/agentModify.jsp</result> <result name="detailAgent">/adminx/agent/agentDetail.jsp</result> <result name="binded">/adminx/agent/bindedPlanAgent.jsp</result> </action> <!--获取学习计划 --> <action name="bindAgent" class="com.myland.jp.adminx.agent.action.AgentAction" method="bindAgent"> <result name="bindAgent">/adminx/agent/bindAgent.jsp</result> </action> <!-- 已绑定学习计划 --> <action name="bindedPlan" class="com.myland.jp.adminx.agent.action.AgentAction" method="bindedPlan"> <result name="binded">/adminx/agent/bindedPlanAgent.jsp</result> </action> <!-- 供应商 --> <action name="cont" class="com.myland.jp.adminx.cont.action.ContAction"> <result name="success">/adminx/cont/contList.jsp</result> <result name="addAgent">/adminx/cont/contAdd.jsp</result> <result name="modifyAgent">/adminx/cont/contModify.jsp</result> <result name="detailAgent">/adminx/cont/contDetail.jsp</result> </action> <!-- 账户信息 --> <action name="payAccnt" class="com.myland.jp.adminx.payAccnt.action.PayAccntAction"> <result name="success">/adminx/payAccnt/payAccntList.jsp</result> <result name="addPayAccnt">/adminx/payAccnt/payAccntAdd.jsp</result> <result name="modifyPayAccnt">/adminx/payAccnt/payAccntModify.jsp</result> </action> <action name="addPayAccntAction" class="com.myland.jp.adminx.payAccnt.action.PayAccntAction" method="addPayAccnt"> <result name="addPayAccnt">/adminx/payAccnt/payAccntAdd.jsp</result> </action> <action name="agentList" class="com.myland.jp.adminx.payAccnt.action.PayAccntAction" method="loadAgentList"> <result name="agentList">/adminx/payAccnt/agentList.jsp</result> </action> <action name="contList" class="com.myland.jp.adminx.payAccnt.action.PayAccntAction" method="loadContList"> <result name="contList">/adminx/payAccnt/contList.jsp</result> </action> <!-- 学员查询 --> <action name="viewPerson" class="com.myland.jp.adminx.viewPerson.action.ViewPersonAction"> <result name="success">/adminx/viewPerson/viewPersonList.jsp</result> </action> <!-- 银行信息 --> <action name="payBank" class="com.myland.jp.adminx.payBank.action.PayBankAction"> <result name="success">/adminx/payBank/payBankList.jsp</result> <result name="addPayBank">/adminx/payBank/payBankAdd.jsp</result> <result name="modifyPayBank">/adminx/payBank/payBankModify.jsp</result> </action> <!-- 代理商充值 --> <action name="agentChange" class="com.myland.jp.adminx.agentChange.action.AgentChangeAction"> <result name="success">/adminx/agentChange/agentList.jsp</result> <result name="modifyAgent">/adminx/agentChange/agentModify.jsp</result> <result name="angetChange">/adminx/agentChange/agentChangeList.jsp</result> <result name="modifyAngetChagne">/adminx/agentChange/agentChangeModify.jsp</result> <result name="payInvoice">/adminx/agentChange/agentInvoiceModify.jsp</result> <result name="agentChangeConfirm">/adminx/agentChange/agentChangeConfirm.jsp</result> </action> <action name="agentChangeLoad" class="com.myland.jp.adminx.agentChange.action.AgentChangeAction" method="loadAgentChange"> <result name="angetChange">/adminx/agentChange/agentChangeList.jsp</result> </action> <action name="addAgentChangeAction" class="com.myland.jp.adminx.agentChange.action.AgentChangeAction" method="addAgentChange"> <result name="addAgentChange">/adminx/agentChange/agentChangeAdd.jsp</result> </action> <action name="agentChangeAccnt" class="com.myland.jp.adminx.agentChange.action.AgentChangeAction" method="initPayAccntList"> <result name="payAccntList">/adminx/agentChange/payAccntList.jsp</result> </action> <action name="agentChangeBank" class="com.myland.jp.adminx.agentChange.action.AgentChangeAction" method="initPayBankList"> <result name="payBankList">/adminx/agentChange/payBankList.jsp</result> </action> <action name="agentChangeConfirmAction" class="com.myland.jp.adminx.agentChange.action.AgentChangeAction" method="agentChangeConfirm"> <result name="agentChagneConfirm">/adminx/agentChange/agentChangeConfirm.jsp</result> </action> <!-- 部门操作 --> <action name="deptAction" class="com.myland.jp.adminx.dept.action.DeptAction"> <result name="success">/adminx/dept/deptList.jsp</result> <result name="open">/adminx/dept/deptUpdate.jsp</result> <result name="add" type="redirect">/adminx/deptAction.do?conditions=keep</result> <result name="del" type="redirect">/adminx/deptAction.do?conditions=keep</result> <result name="update" type="redirect">/adminx/deptAction.do?conditions=keep</result> </action> <!-- 角色操作action --> <action name="roleAction" class="com.myland.jp.adminx.role.action.RoleAction"> <result name="success">/adminx/role/roleList.jsp</result> <result name="add" type="redirect">/adminx/roleAction.do?conditions=keep</result> <result name="open">/adminx/role/roleUpdate.jsp</result> <result name="update" type="redirect">/adminx/roleAction.do?conditions=keep</result> <result name="del" type="redirect">/adminx/roleAction.do?conditions=keep</result> <result name="detail">/adminx/role/roleDetail.jsp</result> </action> <!-- 系统用户操作action begin --> <action name="userAction" class="com.myland.jp.adminx.user.action.UserAction"> <result name="add" type="redirect">/adminx/getUsersInfo.do?conditions=keep</result> <result name="view">/adminx/user/userView.jsp</result> <result name="open">/adminx/user/userUpdate.jsp</result> <result name="update" type="redirect">/adminx/getUsersInfo.do?conditions=keep</result> <result name="del" type="redirect">/adminx/getUsersInfo.do?conditions=keep</result> </action> <action name="getUsersInfo" class="com.myland.jp.adminx.user.action.UserAction" method="getUsersInfo"> <result name="list">/adminx/user/userList.jsp</result> </action> <action name="openUserAdd" class="com.myland.jp.adminx.user.action.UserAction" method="openUserAdd"> <result name="openUserAdd">/adminx/user/userAdd.jsp</result> </action> <!-- 系统用户操作action end --> <!-- 数据权限操作action --> <action name="resDataAction" class="com.myland.jp.adminx.resdata.action.ResDataAction"> <result name="open">/adminx/resdata/resdataDetail.jsp</result> <result>/adminx/resdata/resdataDetail.jsp</result> </action> <!-- 方法名直接指定action的方法 ok--> <!-- 安全性,使用method,防止动态调用 为了以后 注释不要写到里面--> <action name="simpleHelp" class="com.myland.jp.adminx.resdata.action.SimpleHelpAction" method="simpleHelp"> <result name="success">/adminx/resdata/simpleHelp.jsp</result> </action> <!-- 请求 一样.帮助页面 左边的请求 故意不写 与方法名相同,保证权限的. --> <action name="searchData" class="com.myland.jp.adminx.resdata.action.SimpleHelpAction" method="resDataSearch"> <result name="list">/adminx/resdata/resDataList.jsp</result> </action> <!-- 数据权限操作 end --> <!-- 后台订单相关操作 --> <action name="queryPayOrderAction" class="com.myland.jp.adminx.pay.action.PayOrderAdminAction" method="queryPayOrderInfoByPage"> <result name="payOrderFlowList">/adminx/pay/payOrderListAdminx.jsp</result> <result name="payOrdersFlowList">/adminx/pay/payOrdersListAdminx.jsp</result> <result name="payResult">/web/pay/alipayapi.jsp</result> <result name="payResults">/web/pay/alipayapi.jsp</result> </action> <action name="examVersionAction" class="com.myland.jp.adminx.exam.action.ExamVersionAction"> <result name="success">/adminx/exam/appExamVersion.jsp</result> </action> <!-- 类别体系 begin --> <action name="catTypeAction" class="com.myland.jp.adminx.catType.action.CatTypeAction"> <result>/adminx/catType/demo-index.jsp</result> </action> <!-- 类别体系end --> <!-- 章节管理 begin --> <action name="chapterAction" class="com.myland.jp.adminx.chapter.action.ChapterAction"> <result name="success">/adminx/chapter/chapterParentList.jsp</result> <result name="insertChapterParent">/adminx/chapter/chapterParentAdd.jsp</result> <result name="updateChapterParent">/adminx/chapter/chapterParentUpdate.jsp</result> <result name="toWorks">/adminx/chapter/works.jsp</result> <result name="chapterTopList">/adminx/chapter/chapterTopList.jsp</result> <result name="chapterTree">/adminx/chapter/chapterTree.jsp</result> <result name="chapterList">/adminx/chapter/chapterList.jsp</result> <result name="insertChapter">/adminx/chapter/chapterAdd.jsp</result> <result name="updateChapter">/adminx/chapter/chapterUpdate.jsp</result> </action> <!-- 章节管理end --> <!-- 章节考题管理 begin --> <action name="chapterExamAction" class="com.myland.jp.adminx.chapter.action.ChapterExamAction"> <result name="success">/adminx/chapter/examHelp.jsp</result> </action> <action name="examListAction" class="com.myland.jp.adminx.chapter.action.ChapterExamAction" method="findExamList"> <result name="examList">/adminx/chapter/examList.jsp</result> </action> <!-- 章节考题管理end --> <!-- 课程管理 begin --> <action name="courseAction" class="com.myland.jp.adminx.course.action.CourseAction"> <result name="success">/adminx/course/courseList.jsp</result> <result name="insertCourse">/adminx/course/courseAdd.jsp</result> <result name="updateCourse">/adminx/course/courseUpdate.jsp</result> </action> <!-- 课程管理end --> <!-- 课程配置章节begin --> <action name="coursePowerAction" class="com.myland.jp.adminx.course.action.CoursePowerAction"> <result name="coursePower">/adminx/course/coursePower.jsp</result> <result name="chapterSelList">/adminx/course/chapterSelectList.jsp</result> <result name="insert" type="redirect">/adminx/chapterSelListAction.do?id=${id}</result> <result name="del" type="redirect">/adminx/chapterSelListAction.do?id=${id}</result> </action> <action name="chapterListAction" class="com.myland.jp.adminx.course.action.CoursePowerAction" method="findChapterList"> <result name="chapterList">/adminx/course/chapterList.jsp</result> </action> <action name="chapterSelListAction" class="com.myland.jp.adminx.course.action.CoursePowerAction" method="findSelectChapterList"> <result name="chapterSelList">/adminx/course/chapterSelectList.jsp</result> </action> <action name="delCourseChapter" class="com.myland.jp.adminx.course.action.CoursePowerAction" method="delCourseChapter"> <result name="chapterSelList">/adminx/course/chapterSelectList.jsp</result> </action> <!-- 课程配置章节end --> <action name="payInvoiceAdmin" class="com.myland.jp.adminx.pay.action.PayInvoiceAdminAction"> <result name="payInvoiceList">/adminx/pay/payInvoiceListAdminx.jsp</result> <result name="payInvoice" type="chain"> <param name="method">queryInvoice</param> <param name="actionName">payInvoiceAdmin</param> <param name="namespace">/adminx</param> </result> </action> <!-- 字典维护 --> <action name="queryAllCode" class="com.myland.jp.adminx.dic.action.DicAction"> <result>/adminx/dic/dicMain.jsp</result> <!-- 默认的不想用,配上 --> <result name="dicInit">/adminx/dic/dicMain.jsp</result> <result name="open">/adminx/dic/dicUpdate.jsp</result> <result name="update" type="redirect">/adminx/queryAllCode!queryAllCode.do?conditions=keep</result> <result name="del" type="redirect">/adminx/queryAllCode!queryAllCode.do?conditions=keep</result> <result name="aud_success">/adminx/dic/aud.jsp</result> <!-- <result>${url}</result>--> </action> </package> </struts>
发表评论
-
三级菜单树的组装与遍历显示
2017-03-03 14:28 996Action: UserManagerAction.java ... -
App问题审核 - jsp页面判断根据是否有图片决定是否显示,自定义标签实例
2017-03-01 16:59 632主要结构: 1.MessageHaveImageTag.jav ... -
卡布列克常数的java实现
2017-02-11 00:39 1440Test83.java 此题来源为 廖永鹏的 贵阳面试题. 主 ... -
Test图片显示样式调整
2015-09-14 17:24 0整理采用ssh结构, personActi ... -
window.print() 打印学时证明
2016-12-08 15:51 962主要按照MVC的顺序,+mapper.xml文件. 参考前 ... -
一个简单的行拖动效果 _id="table"
2017-02-10 09:56 526一个简单的行拖动效果 ... -
tab标签页切换效果.
2015-03-16 10:59 2126tab标签页的显示. 相关文件 1.deptViewSumma ... -
客人服务 学员查询 级联,zTree的使用
2015-03-02 10:25 911客服学员查询: 技术点: 1. doChange(); 省市与 ... -
汇总统计(部门),涉及结果集转横向(功能样板博客)
2014-12-23 19:44 880[size=medium] 主要按照MVC的顺序,+mappe ... -
省市区三级级联,含有数据库.单一外键模式.
2014-11-09 23:24 11861.最重要的是js部分.其他的数据库使用Oralce10g,M ...
相关推荐
1.下载两个jar包 1.bcprov-ext-jdk15on-1.54.jar 2.bcprov-jdk15on-1.54.jar 下载地址在:http://download.csdn.net/detail/cw_hello1/9557049 2.将下载的两个JAR文件复制到:JDK安装目录\jre\lib\ext下,例如我...
bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-...
标题中的"bcprov-jdk15on-154.jar--bcprov-ext-jdk15on-154.jar.zip"表明这是一个包含两个版本的Bouncy Castle加密库的压缩文件,分别为bcprov-jdk15on-154.jar和bcprov-ext-jdk15on-154.jar。这两个文件都是Java...
标题中的"bcprov-jdk15on-1.52.jar"和"bcprov-ext-jdk15on-1.52.jar"是两个Java Archive (JAR) 文件,它们属于Bouncy Castle加密库的不同版本。Bouncy Castle是一个广泛使用的开源Java安全套件,提供了大量的加密...
jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u...
DH(Diffie-Hellman)是一种非对称密钥交换协议,允许两个通信方在不安全的网络环境中协商一个共享密钥。当Java在进行DH密钥交换时出现异常,可能的原因有: 1. 缺少或不兼容的加密算法提供者:Java标准库可能没有...
bcprov-jdk15on和bcprov-ext-jdk15on是Bouncy Castle项目提供的两个关键库,它们为Java提供了强大的加密支持。本文将详细解析这两个库的差异、功能以及如何在实际项目中应用。 首先,Bouncy Castle是一个开源的Java...
标题中的"bcprov-ext-jdk15on-1.52.jar"和"bcprov-jdk15on-1.52.jar"是两个与Java相关的库文件,它们都属于Bouncy Castle加密库的不同版本。Bouncy Castle是一个开源的Java安全套件,提供广泛的安全服务,包括加密、...
标题中的"bcprov-ext-jdk15on-1.54.jar"和"bcprov-jdk15on-1.54.jar"是Bouncy Castle提供的Java加密库,用于增强Java平台的安全性。Bouncy Castle是一个开源项目,提供强大的加密算法实现,包括SSL/TLS协议支持,...
ECC 加密工具jar包 bcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jar
JDK 1.7,也被称为Java SE 7(Java Standard Edition 7),在2011年发布,引入了若干新特性,如钻石操作符、try-with-resources语句、类型推断等。 **相关知识点:** 1. **Java版本历史**:从JDK 1.0开始,Java...
java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...
在jdk中的jre\lib\security修改java.security文件, security.provider.6=com.sun.security.sasl.Provider 下面添加 security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider 在\jre\lib\ext中...
"bcprov-ext-jdk15on-154.jar" 和 "bcprov-jdk15on-154.jar" 是两个非常重要的工具jar包,它们属于Bouncy Castle加密库,专门用于解决Java中的加密和安全问题,尤其是当系统遇到"javax.net.ssl.SSLException: java....
jdk-6-windows-i586.exejdk-6-windows-i586.exejdk-6-windows-i586.exejdk-6-windows-i586.exejdk-6-windows-i586.exejdk-6-windows-i586.exejdk-6-windows-i586.exejdk-6-windows-i586.exejdk-6-windows-i586....
tar -zxvf jdk-7u80-linux-x64.tar.gz ``` 这会创建一个名为`jdk1.7.0_80`的目录,其中包含了JDK的所有文件。 ##### 4.3 设置环境变量 为了让操作系统能够找到JDK,需要将JDK的路径添加到系统的环境变量中。可以...
这个压缩包文件"jdk-7u80-windows-x64.zip"包含了安装JDK 7u80所需的可执行文件,即"jdk-7u80-windows-x64.exe",用于在Windows 64位环境下安装Java开发环境。 Java 7,也称为Java SE 7 (Java Platform, Standard ...
jdk-7u80-windows-i586.exe... jdk-7u80-windows-i586.exe
标题中的"jdk7,jdk-7u80-linux-x64.tar.gz"表明这是一个与Java Development Kit(JDK)相关的文件,具体版本是7u80,针对Linux 64位系统的版本。JDK是Oracle公司提供的用于开发和运行Java应用程序的软件开发工具包。...
标题中的"jdk-7u80-linux-x64.rpm.zip"是一个Java Development Kit(JDK)的版本7更新80的Linux 64位安装包的压缩文件。这个文件是用.zip格式压缩的,通常用于在不同的操作系统之间传输或者存储多个文件。在Linux...