当前位置: 首页 > news >正文

泛微Ecode新增Button调用服务器中的JSP页面里的方法

前言

前端Ecode调用

后端接口编写

JSP文件方法

总结


前言

因为我们是从之前E8版本升级到E9的,所以会有一些接口是通过jsp文件来实现前后端调用的,这里介绍的就是如果你有接口是写在jsp文件里面调用的,但是你又想在Ecode中调用的对应的接口,那么继续往下看你就会明白具体该如何调用了

前端Ecode调用

const { WeaTools, WeaSlideModal } = ecCom;class testComponent extends React.Component {constructor(props) {super(props);this.state = {info: {name: ''},jsonData: {},currentObj: {},xm: WfForm.getFieldValue(WfForm.convertFieldNameToId("xm"))};}componentDidMount() {window.WfCustomInfoRef = this;this.getData();}getData() {const data = {name: "John1",age: 25};fetch('http://IP:PORT/api/workflow/test/getInfo2', {method: 'POST',headers: {'Content-Type': 'application/json'},body: JSON.stringify(data)}).then(response => response.json()).then(data => {this.setState({jsonData: data}, () => {console.log(this.state.jsonData);console.log("输出姓名值" + this.state.xm);});}).catch(error => {console.error('请求出错:', error);});}handleClick() {alert("ecode方法被点击");}render() {const { info, jsonData, currentObj } = this.state;return (<div>添加的自定义内容2{jsonData.username}<SonComponent /><button onClick={()=>{var requestId = WfForm.getBaseInfo().requestid;jQuery.ajax({type: "POST",url: "http://IP:PORT/workflow/request/GetInfoDataAjax.jsp",data: {'requestid':requestId, 'method':"QZgd"},//dataType: 'json',success:function(data){console.log(data)// alert(data)},error:function(data){alert("系统出现问题,请联系管理员!");}})}}>按钮</button>{jsonData.test}</div>);}
}ecodeSDK.setCom('${appId}', 'testComponent', testComponent);

需要注意的是,可以直接在插入的按钮里编写点击事件,但是推荐最好就是定义一个方法,然后点击按钮的时候直接调用就可以了(因为我这里是做一个测试,所以就直接写上去了)

后端接口编写


package com.jiuyi.info;
import weaver.interfaces.workflow.action.WorkflowFnaInWorkflow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;public class TestGuiDang {private Log log = (Log) LogFactory.getLog(WorkflowFnaInWorkflow.class.getName());public String Qzgd(String requestId){this.log.info("TestGuiDang测试按钮点击接口的调用"+requestId);return "1";}}

在这个class中编写你需要的代码即可,无论是更新数据还是返回信息都可以,只是你需要注意要将这个接口放到对应的jsp文件中引用

JSP文件方法

<%@page import="net.sf.json.JSONObject"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %><%@page import="weaver.general.Util"%>
<%@page import="com.sap.mw.jco.IFunctionTemplate"%>
<%@page import="com.sap.mw.jco.JCO"%><jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
<%@page import="weaver.general.BaseBean"%><%@page import="com.jiuyi.ajax.TestGuiDang"%><%if(method.equals("QZgd")){TestGuiDang testGuiDan = new TestGuiDang();String requestId = Util.null2String(request.getParameter("requestid"));out.println("Request ID: " + requestId); out.println(testGuiDan.Qzgd(requestId));return;
}%>

在jsp文件中,你会有对应的方法名称来进行判断,然后只需要实例化对象然后传参调用即可

总结

建议最好还是直接采用E9的接口编写,那样的话轻松多了,可以直接通过接口传递参数而不用借助jsp文件来实现前后端的传参

http://www.lryc.cn/news/544674.html

相关文章:

  • LVS+Keepalived高可用群集配置案例
  • 杰发科技AC7801——滴答定时器获取时间戳
  • Pycharm使用matplotlib出现的问题(1、不能弹出图表 2、图表标题中文不显示)
  • Cursor+pycharm接入Codeuim(免费版),Tab自动补全功能平替
  • spring--ApplicationContext和BeanFactory的区别(源码)
  • HTMLS基本结构及标签
  • 【蓝桥杯嵌入式】各模块学习总结
  • Vue的项目创建以及项目目录与组合式API
  • 数据结构秘籍(二)图(含图的概念、存储以及图的两大搜索)
  • 前端八股——JS+ES6
  • Python 课堂点名桌面小程序
  • 【Java基础】Java中new一个对象时,JVM到底做了什么?
  • C#中的字典怎么使用?
  • vue框架后遗症∶被遗忘的dom操作
  • 进程 ─── linux第10课
  • 线性模型 - 支持向量机
  • MyBatis-Plus注解配置:@TableName、@TableId、@TableField
  • DeepSeek接入问题-Xshell5连接Ubuntu22失败解决方案
  • 论文阅读之基于Syn2Real域的侧扫声纳类水雷目标探测
  • 【Java】Tomcat日志
  • datalist 是什么?
  • 初阶数据结构(C语言实现)——3顺序表和链表(3)
  • Docker 数据卷管理及优化
  • Hi3516CV610车牌识别算法源码之——车牌识别算法初体验
  • 使用内置命令查看笔记本电池健康状态
  • HONOR荣耀MagicBook 15 2021款 独显(BOD-WXX9,BDR-WFH9HN)原厂Win10系统
  • transformer架构的语言模型保存的内容与格式详解
  • win本地vscode通过代理远程链接linux服务器
  • 【C++编程探索】01前缀和来临!优点多多!八千字详解
  • 文件下载技术的终极选择:`<a>` 标签 vs File Saver.js