X5的action应用

<!--后台代码-->

accessKey.action.m

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

<model xmlns="http://www.justep.com/model"> 
  <action name="accessKey" global="false" procedure="accessKeyProcedure">
    <label language="zh_CN">快捷键配置读取</label> 
    <public type="String" required="true" name="userId"/>
  </action> 
  <action name="updateAccessKey" global="false" procedure="updateAccessKeyProcedure">
    <label language="zh_CN">更新快捷键设置</label> 
    <public type="Integer" required="true" name="arrowKeyStatus"/> 
    <public type="Integer" required="true" name="ctrlKeyStatus"/> 
    <public type="Integer" required="true" name="enterKeyStatus"/>
  </action> 
</model>
accessKey.procedure.m

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

<model xmlns="http://www.justep.com/model" xmlns:m="http://www.justep.com/model"> 
  <procedure name="accessKeyProcedure" code-model="/MIS/Common/logic/code" code="Message.accessKey">
    <parameter name="userId" type="String"/>
  </procedure> 
  <procedure name="updateAccessKeyProcedure" code-model="/MIS/Common/logic/code" code="Message.updateAccessKey">
    <parameter name="arrowKeyStatus" type="Integer"/> 
    <parameter name="ctrlKeyStatus" type="Integer"/> 
    <parameter name="enterKeyStatus" type="Integer"/>
  </procedure>  
  </model>


Message.java

import java.math.*;
import java.sql.*;
import java.util.*;
import org.dom4j.*;
import com.justep.system.data.*;
import com.justep.system.opm.*;
import com.justep.system.context.ContextHelper;
import com.sun.org.apache.xalan.internal.xsltc.runtime.Hashtable;

public class Message {
 public static String accessKey(String userId) {
  Connection conn = null;
  Statement stm = null;
  ResultSet rs = null;
  String str = "";
     if(userId == null|| userId =="" ) userId=ContextHelper.getPerson().getID();
  try {
   conn = com.justep.model.ModelUtils.getConnection("/MIS/Common/data");
   ContextHelper.getTransaction().begin(conn);
   stm = conn.createStatement();
   rs = stm.executeQuery("select ArrowKeyStatus,CtrlKeyStatus,EnterKeyStatus from A_Config_AccessKeySettings where UserId='" + userId + "'");
   if (rs.next()) {
    str += rs.getString("ArrowKeyStatus") + "|";
    str += rs.getString("CtrlKeyStatus") + "|";
    str += rs.getString("EnterKeyStatus") ;
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    stm.close();
    rs.close();
    conn.close();
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
  return str;
 }

 public static void updateAccessKey( Integer arrowKeyStatus, Integer ctrlKeyStatus, Integer enterKeyStatus) {
  Connection conn = null;
  Statement stm = null;
  ResultSet rs = null;
  String userId = ContextHelper.getPerson().getID();
  try {
   conn = com.justep.model.ModelUtils.getConnection("/MIS/Common/data");
   ContextHelper.getTransaction().begin(conn);
   stm = conn.createStatement();
   rs = stm.executeQuery("select ArrowKeyStatus,CtrlKeyStatus,EnterKeyStatus from A_Config_AccessKeySettings where UserId='" + userId + "'");
   if (!rs.next()) {
    stm.executeUpdate("insert into A_Config_AccessKeySettings values(NEWID(),'0','" + userId + "','" + arrowKeyStatus + "','"
      + ctrlKeyStatus + "','" + enterKeyStatus + "')");
   } else {
    stm.executeUpdate("UPDATE A_Config_AccessKeySettings SET ArrowKeyStatus = '" + arrowKeyStatus + "',CtrlKeyStatus = '" + ctrlKeyStatus
      + "',EnterKeyStatus='" + enterKeyStatus + "' WHERE UserId = '" + userId + "'");
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    stm.close();
    rs.close();
    conn.close();
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
  
 }
}

accessKeyProcess.process.m

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

<model xmlns="http://www.justep.com/model"> 
  <process name="accessKeyProcess" kind="SYSTEM">
    <label language="zh_CN">快捷键设置</label> 
    <static-activity name="mainActivity">
      <label language="zh_CN">快捷键设置</label> 
      <has-action action="accessKey" access-permission="public"/> 
      <has-action action="updateAccessKey" access-permission="public"/>
    </static-activity> 
    <has-action action="accessKey" access-permission="public"/> 
    <has-action action="updateAccessKey" access-permission="public"/>
  </process>
</model>

<!--前台调用-->

<div id="settings_changePassword_inner" class="settings_content_inner">
 <fieldset id="settings_general_password">
  <legend>设置快捷键</legend>
  <div class="change_password_left">
   <div id="ctrlcut">
    <span style="width:60px;">使用ctrl键 </span>
    <span style="width:60px;margin-left:10px">
     <input id="shortcuts1" type="radio" name="ctrlradio" value="1">启用
     </input>
     <input id="shortcuts2" type="radio" name="ctrlradio" value="0">停用
     </input>
    </span>
   </div>
   <div id="direction">
    <span style="width:60px;">使用方向键</span>
    <span style="width:60px;margin-left:5px">
     <input id="shortcuts3" type="radio" name="directtionradio"
      value="1">启用</input>
     <input id="shortcuts4" type="radio" name="directtionradio"
      value="0">停用</input>
    </span>
   </div>
   <div>
    <span style="width:60px;">使用enter键</span>
    <span style="width:60px;">
     <input id="shortcuts5" type="radio" name="enterradio" value="1">启用
     </input>
     <input id="shortcuts6" type="radio" name="enterradio" value="0">停用
     </input>
    </span>
   </div>
  </div>
  <div class="change_password_right" id="descChangePasswordRule">
  </div>
  <div style="clear:left;padding:10px 0 0 80px;width:250px;">
    <input type="button" id="submitBtn" value="提   交" style="width:60px"
    onClick="if(typeof(setShortcuts)=='function') setShortcuts();" />
  </div>
 </fieldset>
<script type="text/javascript" >
 function getRadioValue(radioName) {
   var radios=document.getElementsByName(radioName);
  var len=radios.length;
  for(var i= 0 ;i< len ; i++ ){
   if(radios[i].checked==true){
    return radios[i].value; 
   }
   return 0;
  }
 }
 function setShortcuts(){ 
  var VCtrl=getRadioValue("ctrlradio");
  var VDirection = getRadioValue("directtionradio");
  var VEnter = getRadioValue("enterradio");
  var param = new justep.Request.ActionParam();
  param.setInteger("arrowKeyStatus", VDirection);
  param.setInteger("ctrlKeyStatus",VCtrl);
  param.setInteger("enterKeyStatus",VEnter);
  justep.Request.sendBizRequest("/MIS/Common/process/accessKey/accessKeyProcess","mainActivity","updateAccessKey",param);
  alert('提交快捷键设置后,使用快捷键的功能需重新打开或刷新页面设置将生效!');
 }
 function getShortcuts(){
   var param = new justep.Request.ActionParam();
   param.setString("userId",justep.Context.getCurrentPersonID());
   var result = justep.Request.sendBizRequest("/MIS/Common/process/accessKey/accessKeyProcess","mainActivity","accessKey",param );
   var ar = justep.Request.getData(result.responseXML).text.split("|");
   if(ar.length>0){
     setRadioChecked("directtionradio",ar[0]);
     setRadioChecked("ctrlradio",ar[1]);
     setRadioChecked("enterradio",ar[2]);
   }
 }
 function setRadioChecked(radioName,rvalue){
   var radios=document.getElementsByName(radioName);
   var len=radios.length;
  for(var i= 0;i<len;i++){
   if(radios[i].value==rvalue) radios[i].checked=true;
  }
 }
</script>
</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值