- 浏览: 726755 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
一剪梅:
关于您对于 hasRolePermission 用法的解释, ...
OFBIZ安全性技术(翻译) -
沈寅麟:
数据模型资源手册卷3中文版出版了 -
donaldjohn:
恭喜恭喜, 预祝大卖
数据模型资源手册卷3中文版出版了 -
成大大的:
OFBiz电商实战百度网盘下载:http://pan.baid ...
OFBiz入门实训教程 -
成大大的:
OFBiz电商实战百度网盘下载:http://pan.baid ...
OFBiz促销码生成解释
由于项目需要,我用ofbiz实现了这个话题,在这里与大家共享.
ftl页面:
1,定义三个Hidden变量:
看到名字大家应该知道是做什么用的,在这里不多解释.
2,javascript
// 获取checkbox信息,选中,未选中,当前选中
function getCheckBoxInformation() {
var checkboxes = document.getElementsByName("subMemberId");
var checkedStr = "";
var noCheckedStr = "";
for(i = 0; i < checkboxes.length; i++) {
var checkbox = checkboxes[i];
if(checkbox.checked) {
checkedStr = checkedStr + "," + checkbox.value;
}else {
noCheckedStr = noCheckedStr + "," + checkbox.value;
}
}
window.location.href='${action}
?VIEW_SIZE=${viewSize}&VIEW_INDEX=${viewIndex-1}&
hideFields=${parameters.hideFields?default("N")}${paramList}&
checkedStr='+checkedStr+'&noCheckedStr='+noCheckedStr+'&allSelect='+allSelect.value;
}
// 页面onload的时候计算当前页被选中项,并在页面表示
function initPage()
{
var allSelect = document.getElementById("allSelect");
var all_selected = allSelect.value;
var checkboxes = document.getElementsByName("subMemberId");
if(all_selected != "" && all_selected!= null)
{
var arrall_select = all_selected.split(",");
// alert(arrall_select.length);
if(arrall_select.length > 0)
{
for(k = 0; k < arrall_select.length; k++)
{
for(i = 0; i < checkboxes.length; i++)
{ var checkbox = checkboxes[i];
if((checkbox.value == arrall_select[k])==true)
{
checkbox.checked = true;
}
}
}
}
}
}
每次翻页的时候调用getCheckBoxInformation()方法,页面加载的时候调用initPage()方法.
3,后台Action操作,在每次执行时候调用下面的方法
private static String operationCheckInfo(DispatchContext ctx, Map context)
throws Exception {
Map result = new HashMap();
String allSelect;
//VIEW_INDEX,VIEW_SIZE判断是否是翻页操作
if (context.get("VIEW_INDEX") != null
&& context.get("VIEW_SIZE") != null) {
String all_select = (String) context.get("allSelect");
if (all_select == null || all_select.equals("")) {
all_select = "";
}
//获取当前选中的项目
String now_select = (String) context.get("checkedStr");
String[] all_now_select = null;
if (now_select != null || !now_select.equals("")) {
all_now_select = now_select.split(",");
}
//获取当前未选中项目
String no_select = (String) context.get("noCheckedStr");
String[] all_now_no_select = null;
if (now_select != null || !now_select.equals("")) {
all_now_no_select = no_select.split(",");
}
//将当前选中项目加入列表
for (int i = 1; i < all_now_select.length; i++) {
String strBoxSelected = all_now_select[i];
String strSearchWith = strBoxSelected + ",";
if (all_select.indexOf(strSearchWith) == -1) {
all_select = all_select + strSearchWith;
}
}
//将当前未选中项目从列表中删除
for (int i = 1; i < all_now_no_select.length; i++) {
String strBoxNoselected = all_now_no_select[i];
String strSearchWith = strBoxNoselected + ",";
int iSearchIndex = all_select.indexOf(strSearchWith);
if (iSearchIndex != -1) {
all_select = all_select.replaceAll(strSearchWith, "");
}
}
allSelect = all_select;
result.put("allSelect", all_select);
} else {
allSelect = "";
result.put("allSelect", "");
}
return allSelect;
}
到现在为止,checkbox的翻页选中已经完成,最后说一句的是,这次仅仅完成了任务,性能方面还有很大的缺陷,大家如果有好的想法或者建议,请与我留言.谢谢!
ftl页面:
1,定义三个Hidden变量:
引用
<body onload="initPage();">
<input type="hidden" id="checkedStr" value="${checkedStr?if_exists}">
<input type="hidden" id="noCheckedStr" value="${noCheckedStr?if_exists}">
<input type="hidden" id="allSelect" value="${allSelect?if_exists}">
<input type="hidden" id="checkedStr" value="${checkedStr?if_exists}">
<input type="hidden" id="noCheckedStr" value="${noCheckedStr?if_exists}">
<input type="hidden" id="allSelect" value="${allSelect?if_exists}">
看到名字大家应该知道是做什么用的,在这里不多解释.
2,javascript
// 获取checkbox信息,选中,未选中,当前选中
function getCheckBoxInformation() {
var checkboxes = document.getElementsByName("subMemberId");
var checkedStr = "";
var noCheckedStr = "";
for(i = 0; i < checkboxes.length; i++) {
var checkbox = checkboxes[i];
if(checkbox.checked) {
checkedStr = checkedStr + "," + checkbox.value;
}else {
noCheckedStr = noCheckedStr + "," + checkbox.value;
}
}
window.location.href='${action}
?VIEW_SIZE=${viewSize}&VIEW_INDEX=${viewIndex-1}&
hideFields=${parameters.hideFields?default("N")}${paramList}&
checkedStr='+checkedStr+'&noCheckedStr='+noCheckedStr+'&allSelect='+allSelect.value;
}
// 页面onload的时候计算当前页被选中项,并在页面表示
function initPage()
{
var allSelect = document.getElementById("allSelect");
var all_selected = allSelect.value;
var checkboxes = document.getElementsByName("subMemberId");
if(all_selected != "" && all_selected!= null)
{
var arrall_select = all_selected.split(",");
// alert(arrall_select.length);
if(arrall_select.length > 0)
{
for(k = 0; k < arrall_select.length; k++)
{
for(i = 0; i < checkboxes.length; i++)
{ var checkbox = checkboxes[i];
if((checkbox.value == arrall_select[k])==true)
{
checkbox.checked = true;
}
}
}
}
}
}
每次翻页的时候调用getCheckBoxInformation()方法,页面加载的时候调用initPage()方法.
3,后台Action操作,在每次执行时候调用下面的方法
private static String operationCheckInfo(DispatchContext ctx, Map context)
throws Exception {
Map result = new HashMap();
String allSelect;
//VIEW_INDEX,VIEW_SIZE判断是否是翻页操作
if (context.get("VIEW_INDEX") != null
&& context.get("VIEW_SIZE") != null) {
String all_select = (String) context.get("allSelect");
if (all_select == null || all_select.equals("")) {
all_select = "";
}
//获取当前选中的项目
String now_select = (String) context.get("checkedStr");
String[] all_now_select = null;
if (now_select != null || !now_select.equals("")) {
all_now_select = now_select.split(",");
}
//获取当前未选中项目
String no_select = (String) context.get("noCheckedStr");
String[] all_now_no_select = null;
if (now_select != null || !now_select.equals("")) {
all_now_no_select = no_select.split(",");
}
//将当前选中项目加入列表
for (int i = 1; i < all_now_select.length; i++) {
String strBoxSelected = all_now_select[i];
String strSearchWith = strBoxSelected + ",";
if (all_select.indexOf(strSearchWith) == -1) {
all_select = all_select + strSearchWith;
}
}
//将当前未选中项目从列表中删除
for (int i = 1; i < all_now_no_select.length; i++) {
String strBoxNoselected = all_now_no_select[i];
String strSearchWith = strBoxNoselected + ",";
int iSearchIndex = all_select.indexOf(strSearchWith);
if (iSearchIndex != -1) {
all_select = all_select.replaceAll(strSearchWith, "");
}
}
allSelect = all_select;
result.put("allSelect", all_select);
} else {
allSelect = "";
result.put("allSelect", "");
}
return allSelect;
}
到现在为止,checkbox的翻页选中已经完成,最后说一句的是,这次仅仅完成了任务,性能方面还有很大的缺陷,大家如果有好的想法或者建议,请与我留言.谢谢!
发表评论
-
OFBiz抽取实体引擎和服务引擎思路(1)
2020-03-31 00:39 622# OFBiz抽取实体引擎和服务引擎思路(1) ... -
minilang开发日志书写规范
2019-01-02 10:34 570minilang书写日志5步法 任何一个xml方法中必须 ... -
自动化配置界面表定义思路1.0
2018-11-24 23:21 778总表 path 唯一编码 tableName 表名 ... -
OFBiz前端VUE组件规划
2018-11-10 10:51 1098iasudu.iteye.com 编 号 : ____ ... -
增强OFBiz通用查询方法思路
2018-11-09 17:15 761增强OFBiz通用查询方法思路 <se ... -
OFBiz前后端分离项目代码规范建议2018版
2018-05-11 09:43 1427OFBiz前后端分离项目代码规范建议__build2018 ... -
前端脚手架使用指导
2018-03-02 14:44 7721 安装nodejs https://nodejs.or ... -
RestEventHandler
2018-02-01 23:37 5/**************************** ... -
数据模型资源手册卷3中文版出版了
2017-02-18 11:58 2048我翻译的数据模型资源手册卷3出版了 -
OFBiz促销码生成解释
2014-10-07 22:07 1596OFBiz 我的购物车 输入固定的邀请码实现优惠促销 需要解 ... -
电商基本页面
2014-09-18 20:49 1768<!--StartFragment--> ... -
OFBiz入门实训教程
2014-07-14 14:28 3026加速度 15000850008 大家好,为了ofbiz的 ... -
创建OFBiz的jQuery Mobile入门页面
2014-06-13 14:21 1832jQuery Mobile 框架是一套 ... -
店铺研究
2014-05-23 23:11 1135店铺权限研究,规划如下权限: 分店库存管理权限 分店进货权限 ... -
15天用OFBiz做一个商城管理后台和店铺管理后台
2014-05-03 20:33 4088仅仅是记录一些弟兄们的工作经历。没有吹嘘使用OFBiz使用效率 ... -
一个朋友做OFBiz Crud遇到的问题
2014-01-02 12:55 1786Crud 遇到的问题 问题1:在myeclipse中开发的of ... -
OFBiz的Cache研究
2013-12-30 14:35 2402任何一个cache对象的配置属性都可以在cache.prope ... -
OFBiz同步设置说明和示例
2013-11-23 02:03 1817同步设置说明和示例 使 ... -
OFBiz的Axis2
2013-11-16 23:43 1239很多人都对Axis2的封装和调用苦恼。 今天再次深入精读OFB ... -
How to create a new component
2013-09-21 23:31 1015How to create a new component ...
相关推荐
在本文中,我们将深入探讨如何在Oracle平台上实现OFBiz框架,并提供一个详细的小例子,以及在实施过程中需要注意的关键问题。OFBiz(Open For Business Project)是一个开源的企业应用框架,它包含了多种业务组件,...
本篇文章将探讨的是OFBiz的开发入门,特别是关于CmsBackEnd如何实现CRUD操作,即创建(Create)、读取(Retrieve)、更新(Update)和删除/Delete。 首先,理解OFBiz的基本架构至关重要。OFBiz采用Service Engine、Entity...
我们可以在 Eclipse 的“Project Explorer”中右键点击,选择“Import”,然后选择“从 SVN 检出项目”,输入 Ofbiz 的 SVN 下载地址:http://svn.apache.org/repos/asf/ofbiz/branches/release12.04,然后按照提示...
OFBiz 环境搭建和安装需要注意的一些问题,例如,Java 的版本问题、数据库的选择问题、应用程序服务器的配置问题等。OFBiz 环境搭建和安装的正确性将直接影响到后续的开发和测试工作。 OFBiz 应用开发的注意事项 ...
Ofbiz,全称为The Open For Business Project,是一个开源的企业应用框架,主要由Apache软件基金会维护。这个项目旨在提供一套全面的、可扩展的企业级应用程序解决方案,涵盖了电子商务、供应链管理、客户关系管理等...
4. **视图(View)**:OFBiz支持多种视图技术,包括JSP、FreeMarker、JPublish和Beanshell,可以根据需求选择合适的方式呈现数据。 通过这种MVC结构,OFBiz实现了高度解耦的组件设计,使得开发者能够独立地修改和...
标题中的"ofbiz10.04表结构"指的是OFBiz 10.04版本的数据模型设计,这是企业级开源应用框架OFBiz的一个重要组成部分。OFBiz全称为Open For Business Project,它是一个用于构建企业应用程序的全面业务解决方案,涵盖...
Apache Ofbiz是一个开源的企业应用框架,它为构建复杂的业务应用程序提供了全面的功能,包括供应链管理、电子商务、财务会计、人力资源等。对于初学者来说,理解Ofbiz的基本架构和工作原理是至关重要的。 Ofbiz的...
《OFBiz API 开发文档详解》 在信息技术领域,OFBiz(Open For ...总结,OFBiz API开发文档是开发者掌握OFBiz框架的必备资料,通过深入学习和实践,开发者可以充分利用OFBiz的强大功能,实现高效的企业级应用开发。
缓存策略包括本地缓存和分布式缓存,可根据业务场景选择合适的方案,以平衡系统响应速度和资源消耗。 六、数据分区与复制(Sharding & Replication) 对于大型企业系统,可能需要对数据进行分区和复制,以解决大...
服务则负责处理业务逻辑,是Ofbiz实现功能的核心;而组件则将相关的实体和服务打包,形成了可重用的模块。 首先,书中会详细介绍如何安装和配置Ofbiz环境,包括下载Ofbiz源码、搭建开发环境、启动服务器等步骤。这...
【OFBiz Git 服务搭建详解】 OFBiz是一个开源的企业级应用框架,主要用于构建和管理电子商务系统。本教程将详细介绍如何在本地环境中搭建OFBiz项目,并使用Git进行版本控制。 首先,确保你拥有以下基础环境: 1. ...
在提供的OFBIZ_Demo压缩包中,用户可以找到OfBiz的演示版本,这是一套预配置的环境,展示了OfBiz在实际业务场景下的功能和操作。这个演示通常包括以下部分: 1. **安装与配置**:压缩包可能包含了安装指南和配置...
2. 下载与安装:访问Ofbiz官方网站下载最新版本的Ofbiz源代码,解压到你选择的工作目录下。同时,安装一个集成开发环境(IDE),如Eclipse或IntelliJ IDEA,它们都有对应的Ofbiz插件,能提供更好的开发体验。 三、...
服务引擎是OFBIZ的核心组件之一,它允许开发者定义服务接口,实现业务逻辑,并通过XML请求和响应进行通信。服务可以通过本地或远程调用,提供了强大的跨模块交互能力。 工作流引擎则管理各种任务和流程,如审批流程...
根据给定的文件信息,以下是关于Apache OFBiz开发的知识点: 1. OFBiz介绍与安装:OFBiz是一个开源的企业自动化软件套件,它提供了构建企业应用程序所需的各种功能,比如电子商务、订单处理等。文件中提到了2008年...