这个例子是用extJs表单提交和struts2结合的例子。
首先,要进行编写js文件,js中文件建立一个button按钮,然后单击的时候响应下面的事件,此处就省略对于button的编写。响应的函数如下
function addProgramItem() {
firstWindow.show(); // 显示窗口
}
//-------------添加费率的 -------------------------
var firstWindow = new Ext.Window({
title : '<span class="commoncss">添加费率表单<span>', // 窗口标题
layout : 'fit', // 设置窗口布局模式
width : 400, // 窗口宽度
height : 300, // 窗口高度
closable : false, // 是否可关闭
collapsible : true, // 是否可收缩
maximizable : true, // 设置是否可以最大化
border : false, // 边框线设置
constrain : true, // 设置窗口是否可以溢出父容器
animateTarget : Ext.getBody(),
pageY : 20, // 页面定位Y坐标
pageX : document.body.clientWidth / 2 - 600 / 2, // 页面定位X坐标
items : [myForm], // 嵌入的表单面板
buttons : [{
text : '保 存',
// iconCls : 'acceptIcon',
handler : function() {
submitTheForm();
}
}, {
text : '重 置',
// iconCls : 'tbar_synchronizeIcon',
handler : function() {
myForm.getForm().reset();
}
}, {
text : '关 闭',
// iconCls : 'deleteIcon',
handler : function() {
firstWindow.hide();
}
}]
});
var updateForm = new Ext.form.FormPanel({
collapsible : false,
border : true,
labelWidth: 75, // label settings here cascade unless overridden
frame:true,
bodyStyle:'padding:5px 5px 0',
width: 350,
buttonAlign : 'center',
defaults: {width: 230},
defaultType: 'textfield',
items: [
{
fieldLabel : '方案ID',
name : 'program_id',
readOnly : true,
fieldClass : 'x-custom-field-disabled',
xtype : 'textfield', // 设置为数字输入框类型
maxLength:40
},{
fieldLabel: '方案名称',
name: 'program_name',
allowBlank:false,
maxLength:40
},{
fieldLabel: '计费模式',
name: 'compute_model',
allowBlank:false,
maxLength:2
}, {
xtype:'textarea',
fieldLabel: '方案描述',
name:'description',
maxLength:255
},{
fieldLabel:'方案状态',
name:'tariff_program_state',
allowBlank:false,
maxLength:2,
value:'00'
},{
fieldLabel:'操作人员',
name:'operator',
allowBlank:false,
maxLength:20
},{
xtype:'datefield',
fieldLabel :'操作时间',
name:'op_time',
allowBlank:false,
format:'Y-m-d'
}]
});
/**
* 表单提交(表单自带Ajax提交)
*/
function submitTheForm() {
if (!myForm.getForm().isValid())
return;
myForm.form.doAction("submit",{
url : 'program_save.action',
waitTitle : '提示',
method : 'POST',
waitMsg : '正在处理数据,请稍候...',
success : function(form, action) { // 回调函数有2个参数
Ext.Msg.confirm('请确认', '新增成功,您要继续新增费率项目吗?', function(
btn, text) {
if (btn == 'yes') {
myForm.getForm().reset();
} else {
firstWindow.hide();
store.reload();
}
});
},
failure : function(form, action) {
firstWindow.hide();
Ext.MessageBox.alert('提示', '数据保存失败');
}
});
}
当点击保存的时候就会访问program_save.action,这是struts.xml的配置,前提是struts的基本环境都配置好了,这里好像有struts的版本问题,因为我用上一个版本不知道为什么不好使。
<package name="default" namespace="/" extends="json-default">
<action name="program_save" class="com.action.ProgramAction" method="save">
<result name="success" type="json"></result>
</action>
</package>
返回sucess就对应这表单提交后执行extjs中成功的回调函数
public String save() throws IOException
{
programService.save(program);
HttpServletResponse response = ServletActionContext.getResponse();
PrintWriter out = response.getWriter();
out.println("{success:true,msg:'tariff_program addd success'}");
out.flush();
out.close();
return SUCCESS;
}
分享到:
相关推荐
内容概要:本文档阐述了 Python 爬虫的基本概念,详细讲解了构建一个简单有效的爬虫所需的五个关键步骤——确定目标、发送请求、解析内容、提取数据和保存结果,并附带了每个阶段相应的实例代码段帮助理解和实施。此外,文中强调了在网络爬虫过程中必须考虑的因素,如遵纪守法,确保不会干扰到网站正常运作或是违反站点设定的规定;以及提供了实用建议以保障高效而不失礼貌地收集所需信息。最后,文档提及Python爬虫主要应用场景包括但不限于数据挖掘、市场调研以及竞争情报搜集等方面。 适用人群:对于有兴趣了解或深入研究Web Scraping的学生、开发者和技术爱好者。 使用场景及目标:无论是初学者希望获得有关Python编程的第一手经验,还是已经有一定经验的技术工作者打算提高效率解决实际问题都非常合适。 其他说明:本文不仅介绍了基础概念与常用方法论,而且给出了完整的学习路径指导和编程指南,旨在让每位参与者都可以顺利入门并逐步掌握高级技巧。同时提醒使用者务必注意合法合规地运用此类技能。
珠宝门店营销管理导购绩效考核表
员工晋升管理规定
人力资源+大数据+薪酬报告+涨薪调薪,在学习、工作生活中,越来越多的事务都会使用到报告,通常情况下,报告的内容含量大、篇幅较长。那么什么样的薪酬报告才是有效的呢?以下是小编精心整理的调薪申请报告,欢迎大家分享。相信老板看到这样的报告,一定会考虑涨薪的哦。
绩效考核方案(医药公司)
Python源码实例07之对数据分析时判断只能选择Excel或者CSV文件.zip
1、文件内容:alsa-plugins-samplerate-1.1.6-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/alsa-plugins-samplerate-1.1.6-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
基于OPC UA Client的数据读取与多途径数据传输:Socket通信、数据库保存及OPC DA SERVER转换,使用OPC UA Client读取服务器的数据,可以使用Socket对外提供数据,可以保存到数据库,可以转为OPC DA SERVER对外提供数据。 ,核心关键词:OPC UA Client; 读取服务器数据; Socket通信; 数据保存; 数据库; 转换为OPC DA SERVER。,"OPC UA Client数据读取与转换:Socket通信、数据库保存及OPC DA SERVER输出"
Python源码实例09之如何使用tkinter模块弹出不同种类的消息提示框.zip
JavaScript 实现钢琴特效(打开HTML即可看到效果)
陇顶728用户好评反馈合集
新能源公司绩效考核管理制度
基于python机器学习9种模型实现心脏病发病预测源码+心脏病数据集+详细注释(高分比赛项目) 【项目介绍】 模型构建与训练:运用 9 种不同的模型架构进行搭建,这些模型可能包括常见的机器学习模型如决策树、随机森林、支持向量机等,也可能涉及深度学习模型如神经网络。针对每种模型,使用预处理后的数据进行训练,通过调整模型的参数(如决策树的深度、神经网络的层数和节点数等),利用合适的损失函数和优化算法(如梯度下降法),使模型能够学习到数据中的模式和规律,尽可能准确地拟合数据,以提高预测的准确性。 模型评估与选择:采用多种评估指标(如准确率、召回率、F1 值、AUC - ROC 曲线等)对训练好的 9 种模型进行评估。比较不同模型在这些指标上的表现,分析每个模型的优势和劣势,从而选择出在预测心脏病方面性能最优的模型,或者根据实际应用场景综合考虑多个模型的组合,以达到更好的预测效果。 预测与应用:将经过评估和选择后的模型应用于新的患者数据,对患者是否患有心脏病进行预测。输出预测结果,并可能提供相应的风险等级或概率估计,为医生的临床诊断提供辅助参考,帮助医生更高效、准确地判断患者的病情,制定合理的
IT项目绩效管理
三电平NPC型APF模型预测控制开关频率优化研究:滞环控制模块应用及效果分析,降低开关频率的三电平npc型APF的模型预测控制。 同等参数下传统的模型预测控制的开关频率大概在4392Hz附近,经过添加滞环控制模块后,开关频率降到了3242Hz,效果显著。 ,核心关键词:降低开关频率; 三电平NPC型APF; 模型预测控制; 滞环控制模块; 开关频率下降。,"优化三电平NPC型APF:模型预测控制降低开关频率至3242Hz"
杨鹏程24年度工作总结及规划
ComfyUI工作流文件和开发API文件 更多内容可以查阅 工作流讲解,文件和文件汇总: 《ComfyUI工作流教程、软件使用、开发指导、模型下载》https://datayang.blog.csdn.net/article/details/145220524 图形桌面工具使用教程: 《我的AI工具箱Tauri+Django环境开发,支持局域网使用》https://datayang.blog.csdn.net/article/details/141897682
Python源码实例01之如何以当前日期批量创建文件.zip
ComfyUI工作流文件和开发API文件 更多内容可以查阅 工作流讲解,文件和文件汇总: 《ComfyUI工作流教程、软件使用、开发指导、模型下载》https://datayang.blog.csdn.net/article/details/145220524 图形桌面工具使用教程: 《我的AI工具箱Tauri+Django环境开发,支持局域网使用》https://datayang.blog.csdn.net/article/details/141897682
C#实现西门子PLC数据通信读写:集成OPC、Socket与数据库的技术实践,C#读写西门子PLC.OPC.数据库.Socket 1、PLC数据通信读写; 2、联合OPC; 3、联合Socket; 4、联合数据库; ,核心关键词:C#读写; PLC数据通信读写; 联合OPC; 联合Socket; 联合数据库。,"C#实现PLC与数据库通信:OPC与Socket联合应用"