Extjs3综合应用(待续v4...初版)
?
?
?
<%@ page contentType="text/html; charset=UTF-8" errorPage="../errorpage.jsp"%> <%@include file="../../inc/expiresinc.jsp"%> <html> <head> <title>模板页面</title> <script type="text/javascript"> extjs 代码.显示时要设置infodiv </script> </head> <body><div id="infodiv" style="width:100%;height:100%;"></div></body> </html>
<%@ page contentType="text/html; charset=UTF-8" errorPage="../errorpage.jsp"%><%@include file="../../inc/expiresinc.jsp"%><html><head><title>模板页面</title><script type="text/javascript">var panel_permissiondiv = new Ext.Panel({renderTo : 'infodiv',width : Ext.get("infodiv").getWidth(),height : Ext.get("infodiv").getHeight(),border : false,layout : 'border',tbar : ['->', {text : 'TEXT',iconCls : 'icon-add',xtype : 'easyButton',tooltip : 'TEXT'}, '-', {text : 'TEXT',iconCls : 'icon-add',xtype : 'easyButton',tooltip : 'TEXT'}],items : [from_permission, grid_permission]});</script></head><body><div id="permissiondiv" style="width:100%;height:100%;"></div></body></html>
<%@ page contentType="text/html; charset=UTF-8" errorPage="../errorpage.jsp"%><%@include file="../../inc/expiresinc.jsp"%><html><head><title>模板页面</title><script type="text/javascript">var storeLoadMask = new Ext.LoadMask(Ext.getBody(), {msg : "正在加载数据,请等待..."});storeLoadMask.show();var panel = Ext.getCmp('center-tab-panel');var from_subscriberpk = new Ext.FormPanel({labelAlign : 'left',labelWidth : 140,frame : true,title : '查询',region : 'north',collapseMode : 'mini',split : true,height : 140,minSize : 120,maxSize : 200,split : true,collapsible : true,margins : '5 5 0 5',items : [{layout : 'column',items : [{columnWidth : .4,layout : 'form',defaults : {anchor : '93%'},items : [{xtype : 'textfield',fieldLabel : 'TEXT',name : ''}]}, {columnWidth : .4,layout : 'form',defaults : {anchor : '93%'},items : [{xtype : 'textfield',fieldLabel : 'TEXT',name : ''}]}]}, {layout : 'column',items : [{columnWidth : .4,layout : 'form',defaults : {anchor : '93%'},items : [{xtype : 'datefield',fieldLabel : 'TEXT',name : ''}]}, {columnWidth : .4,layout : 'form',defaults : {anchor : '93%'},items : [{xtype : 'datefield',fieldLabel : 'TEXT',name : ''}]}, {columnWidth : .2,layout : 'table',items : [{xtype : 'button',width : '70',// iconCls : 'icon-add',xtype : 'easyButton',text : '查 询'}, {xtype : 'button',width : '70',//iconCls : 'icon-add', xtype : 'easyButton',style : 'margin-left: 5px',text : '清 空'}]}]}]});// ------------------Grid 部分-----------------------function rendercz(value, cellmeta, record, rowIndex, columnIndex, store) {return "<img src = 'images/edit.gif' title='操作' align='center' onclick='tab_subscriberpk(""+ record.data["region"]+"",""+ record.data["pwd"]+"")' />";};function rowdblclickfn(grid, rowIndex, e){// 双击事件 var row = grid_subscriberpk.store.getById(grid.store.data.items[rowIndex].id); tab_subscriberpk(row.get("region"),row.get("pwd")); } function tab_subscriberpk(id,code){// 打开TAB var url = 'MyJsp.jsp'; var tab = panel.findById('tab-'+id); if (tab == undefined){ tab = panel.add({ id:'tab-'+id, title: code, iconCls: 'icon-nav-p1', closable:true,// 通过html载入目标页 // html:'<iframe id="'+id+'" scrolling="auto"// frameborder="0" width="100%" height="100%"// src="'+url+'"></iframe>' autoLoad: url }); panel.setActiveTab(tab); }else{ panel.activate(tab) } }function getrecordarry(records,field) {var result = [];for(var i = 0; i < records.length; i++) {result.push(records[i].get(field));}return result;}// 删除操作function deletesubscriberpk(){ var records = grid_subscriberpk.getSelectionModel().getSelections();// 删除多行if (records) {Ext.MessageBox.confirm('确认删除','确定要删除所选记录?',function(btn){if (btn == 'yes'){Ext.Ajax.request({url:'SubscriberPk/extdelete.do?ids='+getrecordarry(records, 'subsid'), method:'POST', success:function(response){ var data = Ext.util.JSON.decode(response.responseText); if (data.success == true){ Ext.Msg.show({title:'成功提示',msg:data.msg,buttons:Ext.Msg.OK,icon: Ext.MessageBox.INFO});ds_subscriberpk.load(); } else{ Ext.MessageBox.alert('警告',data.msg); } },scope:this }); } },this);}else {Ext.Msg.show({title:'提示信息',msg:'请选择需删除的记录!',buttons:Ext.Msg.OK,icon:Ext.Msg.INFO});}}var fom_addsubscriberpk =new Ext.FormPanel({ labelWidth:100, labelAlign:'right', frame:true, autoScroll:true,// 滚动条items:[{ xtype:'panel', layout:'column', width:400, defaults:{border:false} } ,{xtype:'hidden',fieldLabel:'subsid',name:'subsid',width:288} ,{xtype:'textfield',fieldLabel:'region',name:'region',width:288} ,{xtype:'textfield',fieldLabel:'pwd',name:'pwd',width:288} ,{xtype:'textfield',fieldLabel:'createdate',name:'createdate',width:288} ,{xtype:'textfield',fieldLabel:'score',name:'score',width:288} ,{xtype:'textfield',fieldLabel:'startdate',name:'startdate',width:288} ,{xtype:'textfield',fieldLabel:'invaliddate',name:'invaliddate',width:288} ,{xtype:'textfield',fieldLabel:'substype',name:'substype',width:288} ,{xtype:'textfield',fieldLabel:'active',name:'active',width:288} ,{xtype:'textfield',fieldLabel:'status',name:'status',width:288} ], buttons:[{ text:'保存', handler:function(){// 保存操作if (fom_addsubscriberpk.form.isValid() == false){ return; } fom_addsubscriberpk.form.submit({ url:'SubscriberPk/extsave.do', success:function(form,action){ Ext.MessageBox.alert('警告',action.result.msg); win_addsubscriberpk.hide(); grid_subscriberpk.getStore().reload(); }, scope:this, failure:function(form,action){ Ext.MessageBox.alert('警告',action.result.msg); } }) } },{ text:'取消', handler:function(){win_addsubscriberpk.hide();} }] });var win_addsubscriberpk = new Ext.Window({title:'添加记录',iconCls : 'icon-add',width:535,height:400,border:false,resizable:false,autoHeight:true,modal:true,closeAction:'hide',items:[fom_addsubscriberpk]});var fom_upsubscriberpk =new Ext.FormPanel({ labelWidth:100, labelAlign:'right', frame:true, autoScroll:true,// 滚动条items:[{ xtype:'panel', layout:'column', width:400, defaults:{border:false} } ,{xtype:'hidden',fieldLabel:'subsid',name:'subsid',width:288} ,{xtype:'textfield',fieldLabel:'region',name:'region',width:288} ,{xtype:'textfield',fieldLabel:'pwd',name:'pwd',width:288} ,{xtype:'textfield',fieldLabel:'createdate',name:'createdate',width:288} ,{xtype:'textfield',fieldLabel:'score',name:'score',width:288} ,{xtype:'textfield',fieldLabel:'startdate',name:'startdate',width:288} ,{xtype:'textfield',fieldLabel:'invaliddate',name:'invaliddate',width:288} ,{xtype:'textfield',fieldLabel:'substype',name:'substype',width:288} ,{xtype:'textfield',fieldLabel:'active',name:'active',width:288} ,{xtype:'textfield',fieldLabel:'status',name:'status',width:288} ], buttons:[{ text:'修改', handler:function(){if (fom_upsubscriberpk.form.isValid() == false){ return; } fom_upsubscriberpk.form.submit({ url:'SubscriberPk/extupdate.do', success:function(form,action){ Ext.MessageBox.alert('警告',action.result.msg); win_upsubscriberpk.hide(); grid_subscriberpk.getStore().reload(); }, scope:this, failure:function(form,action){ Ext.MessageBox.alert('警告',action.result.msg); } }) } },{ text:'取消', handler:function(){win_upsubscriberpk.hide();} }] });var win_upsubscriberpk = new Ext.Window({title:'修改记录',iconCls : 'icon-editp',width:535,height:400,border:false,resizable:false,autoHeight:true,modal:true,closeAction:'hide',items:[fom_upsubscriberpk]});function upsubscriberpk(){ var records = grid_subscriberpk.getSelectionModel().getSelections(); if (records.length==0) {Ext.Msg.alert("提示", "请选择要修改的记录");return;} if (records.length!=1) {Ext.Msg.alert("提示", "请只选择1条要修改的记录");return;} fom_upsubscriberpk.form.loadRecord(records[0]); win_upsubscriberpk.show();}sm = new Ext.grid.CheckboxSelectionModel();ds_subscriberpk =new Ext.data.Store({url:'SubscriberPk/extlist.do',reader:new Ext.data.JsonReader({root:'list',totalProperty:'totalSize',id:'id'}, ['subsid','region','pwd','createdate','score','startdate','invaliddate','substype','active','status','cz']),baseParams:{limit:10},remoteSort:true});cm_subscriberpk = new Ext.grid.ColumnModel([ sm,new Ext.grid.RowNumberer() ,{header:'region',width:100,sortable:true,dataIndex:'region'} ,{header:'pwd',width:100,sortable:true,dataIndex:'pwd'} ,{header:'createdate',width:100,sortable:true,dataIndex:'createdate'} ,{header:'score',width:100,sortable:true,dataIndex:'score'} ,{header:'startdate',width:100,sortable:true,dataIndex:'startdate'} ,{header:'invaliddate',width:100,sortable:true,dataIndex:'invaliddate'} ,{header:'substype',width:100,sortable:true,dataIndex:'substype'} ,{header:'active',width:100,sortable:true,dataIndex:'active'} ,{header:'status',width:100,sortable:true,dataIndex:'status'},{header : '操作',width:40,dataIndex :'cz',renderer : rendercz}]);cm_subscriberpk.defaultSortable = true;grid_subscriberpk= new Ext.grid.EditorGridPanel({margins : '0 5 5 5',store : ds_subscriberpk,sm : sm,cm : cm_subscriberpk,stripeRows : true,viewConfig : {forceFit : true},loadMask : {msg : '正在加载数据,请等待...'},region : 'center',// clicksToEdit : 1,trackMouseOver : true,tbar : [{ text : '添加', iconCls : 'icon-add', handler : function() {win_addsubscriberpk.show()} },'-',{ text:'删除', iconCls:'icon-dela', handler : function() {deletesubscriberpk()} },'-',{ text:'修改', iconCls:'icon-editp', handler : function() {upsubscriberpk()} },'-',{ text : '刷新',iconCls : 'icon-ref',handler : function() {ds_subscriberpk.load();}},'->','<span style="color:blue;">双击表格可查看 </span>'],bbar : new Ext.PagingToolbar({ pageSize:10, store:ds_subscriberpk, displayInfo:true})});grid_subscriberpk.addListener('rowdblclick', rowdblclickfn); ds_subscriberpk.load({ params:{start:0}, callback:function(r, options, success){if (success) {storeLoadMask.hide();}}});var panel_subscriberpkdiv = new Ext.Panel({renderTo : 'subscriberpkdiv',width : Ext.get("subscriberpkdiv").getWidth(),height : Ext.get("subscriberpkdiv").getHeight(),border : false,layout : 'border',tbar : ['->', {text : 'TEXT',iconCls : 'icon-add',xtype : 'easyButton',tooltip : 'TEXT'}, '-', {text : 'TEXT',iconCls : 'icon-add',xtype : 'easyButton',tooltip : 'TEXT'}],items : [from_subscriberpk, grid_subscriberpk]});</script></head><body><div id="subscriberpkdiv" style="width:100%;height:100%;"></div></body></html>
-- Create tablecreate table T_BAOTEST_INFO(? ID_????? NUMBER not null,? NAME_??? VARCHAR2(20),? EXPLAIN_ VARCHAR2(100),? URL_???? VARCHAR2(30))tablespace TBS_KINGTER? pctfree 10? initrans 1? maxtrans 255? storage? (??? initial 64K??? minextents 1??? maxextents unlimited? );-- Add comments to the columns comment on column T_BAOTEST_INFO.ID_? is '序列';comment on column T_BAOTEST_INFO.NAME_? is '工程名称';comment on column T_BAOTEST_INFO.EXPLAIN_? is '说明';comment on column T_BAOTEST_INFO.URL_? is '路径';-- Create/Recreate primary, unique and foreign key constraints alter table T_BAOTEST_INFO? add constraint T_BAOTEST_KEY_ID primary key (ID_)? deferrable initially deferred;-- Create/Recreate indexes create index T_BAO_TEST_INDEX_ID on T_BAOTEST_INFO (ID_)? tablespace TBS_KINGTER? pctfree 10? initrans 2? maxtrans 255? storage? (??? initial 64K??? minextents 1??? maxextents unlimited? )? compress? reverse;
-- Create sequence create sequence SEQG_BAOTEST_IDminvalue 1maxvalue 999999start with 1increment by 1cache 20cycleorder;
package com.mylink.mipbs.model;import org.apache.commons.lang.builder.EqualsBuilder;import org.apache.commons.lang.builder.HashCodeBuilder;import org.apache.commons.lang.builder.ToStringBuilder;import java.util.*;import javacommon.base.*;import javacommon.util.*;import cn.org.rapid_framework.util.*;import cn.org.rapid_framework.web.util.*;import cn.org.rapid_framework.page.*;import cn.org.rapid_framework.page.impl.*;import com.mylink.mipbs.model.*;import com.mylink.mipbs.dao.*;import com.mylink.mipbs.service.impl.*;import com.mylink.mipbs.service.*;public class Baotest extends BaseEntity { //alias public static final String TABLE_ALIAS = "Baotest"; public static final String ALIAS_ID_ = "序列"; public static final String ALIAS_NAME_ = "工程名称"; public static final String ALIAS_EXPLAIN_ = "说明"; public static final String ALIAS_URL_ = "路径"; //date formats public static final String FORMAT_BIRTHDAY_ = DATE_TIME_FORMAT; //columns START private java.lang.Long id; private java.lang.String name; private java.lang.String explain; private java.lang.String url; //columns END public Baotest(){ } public Baotest( java.lang.Long id ){ this.id = id; } public java.lang.Long getId() { return id; } public void setId(java.lang.Long id) { this.id = id; } public java.lang.String getName() { return name; } public void setName(java.lang.String name) { this.name = name; } public java.lang.String getExplain() { return explain; } public void setExplain(java.lang.String explain) { this.explain = explain; } public java.lang.String getUrl() { return url; } public void setUrl(java.lang.String url) { this.url = url; } public String toString() { return new ToStringBuilder(this) .append("id",getId()) .append("name",getName()) .append("explain",getExplain()) .append("url",getUrl()) .toString(); } public int hashCode() { return 1; } public boolean equals(Object obj) { if(obj instanceof CpHzzl == false) return false; if(this == obj) return true; CpHzzl other = (CpHzzl)obj; return true; }}
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN""http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"><mapper namespace="Baotest"><resultMap id="BaotestResult" type="com.mylink.mipbs.model.Baotest"> <result property="id" column="ID_" /> <result property="name" column="NAME_" /> <result property="explain" column="EXPLAIN_" /> <result property="url" column="URL_" /></resultMap><!-- 用于select查询公用抽取的列 --><sql id="dictionaryColumns"> <![CDATA[ ID_ , NAME_ , EXPLAIN_ , URL_ ]]></sql><!-- useGeneratedKeys="true" keyProperty="xxx" for sqlserver and mysql --><insert id="insert" parameterType="com.mylink.mipbs.model.Baotest" ><selectKey keyProperty="id" resultType="java.lang.Long" order="BEFORE"> select SEQG_BAOTEST_INFO_ID.nextval as id from dual </selectKey> <![CDATA[ INSERT INTO TG_DICTIONARY_INFO ( ID_ , NAME_ , EXPLAIN_, URL_ ) VALUES ( #{id,jdbcType=DECIMAL} , #{name,jdbcType=VARCHAR} , #{explain,jdbcType=VARCHAR} , #{url,jdbcType=VARCHAR} ) ]]><!--oracle: order="BEFORE" SELECT sequenceName.nextval AS ID FROM DUAL DB2: order="BEFORE"" values nextval for sequenceName<selectKey resultType="java.lang.Long" order="BEFORE" keyProperty="userId">SELECT sequenceName.nextval AS ID FROM DUAL </selectKey>--></insert> <update id="update" parameterType="com.mylink.mipbs.model.Baotest"> <![CDATA[ UPDATE TG_Baotest_INFO SET NAME_ = #{name,jdbcType=VARCHAR} , EXPLAIN_ = #{explain,jdbcType=VARCHAR} , URL_ = #{url,jdbcType=VARCHAR} WHERE ID_ = #{id} ]]></update> <delete id="delete" parameterType="java.lang.Long"> <![CDATA[ delete from TG_Baotest_INFO where ID_ = #{id} ]]> </delete> <select id="getById" parameterType="java.lang.Long" resultMap="BaotestResult">select <include refid="BaotestColumns" /> <![CDATA[ from TG_Baotest_INFO where ID_ = #{id} ]]></select><sql id="BaotestDynamicWhere"><!-- ognl访问静态方法的表达式 为@class@method(args),以下为调用rapid中的Ognl.isNotEmpty()方法,还有其它方法如isNotBlank()可以使用,具体请查看Ognl类 --><where> <if test="@Ognl@isNotEmpty(id)">and ID_ = #{id}</if> <if test="@Ognl@isNotEmpty(name)">and NAME_ = #{name}</if></where></sql> <select id="count" resultType="long"> select count(*) from T_Baotest_INFO <include refid="BaotestDynamicWhere"/> </select> <!-- 分页查询已经使用Dialect进行分页,也可以不使用Dialect直接编写分页 因为分页查询将传 offset,pageSize,lastRows 三个参数,不同的数据库可以根于此三个参数属性应用不同的分页实现 --> <select id="pageSelect" resultMap="BaotestResult"> select <include refid="BaotestColumns" /> from T_Baotest_INFO <include refid="BaotestDynamicWhere"/><if test="@Ognl@isNotEmpty(sortColumns)">ORDER BY ${sortColumns}</if> </select></mapper>?
package com.mylink.mipbs.service;import java.util.Map;import cn.org.rapid_framework.page.Page;import cn.org.rapid_framework.page.PageRequest;import com.mylink.mipbs.model.*;/** * ibatis接口定义 * @author Administrator * */public interface BaotestManager { /**按ID查询数据*/ Baotest getById(java.lang.Long id);/**保存数据*/void save(Baotest u);/**修改数据*/void update(Baotest u);/**删除数据*/void removeById (java.lang.Long id);/**分页查询数据*/Page findByPageRequest(PageRequest<Map> q); }
package com.mylink.mipbs.dao;import javacommon.base.BaseIbatis3Dao;import org.springframework.stereotype.Component;import cn.org.rapid_framework.page.Page;import cn.org.rapid_framework.page.PageRequest;import com.mylink.mipbs.model.Baotest;@Componentpublic class BaotestDao extends BaseIbatis3Dao<Baotest,java.lang.Long>{public Class getEntityClass() {return Baotest.class;}public void saveOrUpdate(Baotest entity) {if(entity.getId() == null) save(entity);else update(entity);}public Page findByPageRequest(PageRequest pageRequest) {return pageQuery("Baotest.pageSelect",pageRequest);}}
package com.mylink.mipbs.service.impl;import java.util.Map;import javacommon.base.BaseManager;import javacommon.base.EntityDao;import org.springframework.stereotype.Component;import org.springframework.transaction.annotation.Transactional;import cn.org.rapid_framework.page.Page;import cn.org.rapid_framework.page.PageRequest;import com.mylink.mipbs.dao.BaotestDao;import com.mylink.mipbs.model.Baotest;import com.mylink.mipbs.service.BaotestManager;@Component("baotestManager")@Transactionalpublic class BaotestManagerImpl extends BaseManager<Baotest, java.lang.Long>implements BaotestManager {private BaotestDao baotestDao;/** 增加setXXXX()方法,spring就可以通过autowire自动设置对象属性 */public void setCpHzzlDao(BaotestDao dao) {this.baotestDao = dao;}public EntityDao getEntityDao() {return this.baotestDao;}@Transactional(readOnly = true)public Page findByPageRequest(PageRequest pr) {return baotestDao.findByPageRequest(pr);}}
package com.mylink.mipbs.action;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javacommon.util.extjs.ExtJsPageHelper;import javacommon.util.extjs.ListRange;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.commons.lang.StringUtils;import cn.org.rapid_framework.page.Page;import cn.org.rapid_framework.page.PageRequest;import com.mylink.mipbs.model.User;import com.opensymphony.xwork2.Preparable;import com.opensymphony.xwork2.ModelDriven;import static javacommon.util.extjs.Struts2JsonHelper.*;import java.util.*;import javacommon.base.*;import javacommon.util.*;import cn.org.rapid_framework.util.*;import cn.org.rapid_framework.web.util.*;import cn.org.rapid_framework.page.*;import cn.org.rapid_framework.page.impl.*;import com.mylink.mipbs.model.*;import com.mylink.mipbs.dao.*;import com.mylink.mipbs.service.impl.*;import com.mylink.mipbs.service.*;/** * 事件处理类 * @author Administrator * */public class BaotestAction extends BaseStruts2Action implements Preparable,ModelDriven{//默认多列排序,example: username desc,createTime ascprotected static final String DEFAULT_SORT_COLUMNS = null; //forward paths/**对应到处理页面*/protected static final String QUERY_JSP = "/pages/Baotest/query.jsp";protected static final String LIST_JSP= "/pages/Baotest/list.jsp";protected static final String CREATE_JSP = "/pages/Baotest/create.jsp";protected static final String EDIT_JSP = "/pages/Baotest/edit.jsp";protected static final String SHOW_JSP = "/pages/Baotest/show.jsp";//redirect paths,startWith: !protected static final String LIST_ACTION = "!/pages/Baotest/list.do";private BaotestManager BaotestManager;private Baotest Baotest;java.lang.Long id = null;private String[] items;public void prepare() throws Exception {if (isNullOrEmptyString(id)) {Baotest = new Baotest();} else {Baotest = (Baotest)BaotestManager.getById(id);}}/** 通过spring自动注入 */public void setBaotestManager(BaotestManager manager) {this.BaotestManager = manager;}public Object getModel() {return Baotest;}public void setId(java.lang.Long val) {this.id = val;}public void setItems(String[] items) {this.items = items;}/** * ExtGrid使用 * 列表 * @throws IOException */public void extlist() throws IOException{PageRequest<Map> pr = ExtJsPageHelper.createPageRequestForExtJs(getRequest(), DEFAULT_SORT_COLUMNS);Page page = BaotestManager.findByPageRequest(pr);List<Baotest> Baotestlist = (List) page.getResult();ListRange<Baotest> resultList = new ListRange<Baotest>();resultList.setList(Baotestlist);resultList.setTotalSize(page.getTotalCount());resultList.setMessage("ok");resultList.setSuccess(true);outJson(resultList);}/** * extGrid保存 * @throws IOException */public void extsave() throws IOException{Map<String, Object> result = new HashMap<String, Object>();try{BaotestManager.save(Baotest);result.put("success", true);result.put("msg", "添 加 成 功!");}catch (Exception e){result.put("failure", true);result.put("msg", e.getMessage());e.printStackTrace();}outJson(result);}/** * extGrid修改 * @throws IOException */public void extupdate() throws IOException{Map<String, Object> result = new HashMap<String, Object>();try{BaotestManager.update(Baotest);result.put("success", true);result.put("msg", "修 改 成 功!");}catch (Exception e){result.put("failure", true);result.put("msg", e.getMessage());e.printStackTrace();}outJson(result);}/** * extGrid删除 * @throws IOException */public void extdelete() throws IOException{String ids = getRequest().getParameter("ids");String[] idarray = ids.split(",");Map<String, Object> result = new HashMap<String, Object>();try{for (int i = 0; i < idarray.length; i++){java.lang.Long id = new java.lang.Long((String)idarray[i]);BaotestManager.removeById(id);}result.put("success", true);result.put("msg", "删除成功");}catch (Exception e){result.put("failure", true);result.put("msg", e.getMessage());e.printStackTrace();}outJson(result);}}
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><!-- session超时定义,单位为分钟 --><session-config><session-timeout>10</session-timeout></session-config><!-- 默认首页定义 --><welcome-file-list><welcome-file>index.jsp</welcome-file><welcome-file>index.html</welcome-file></welcome-file-list><!-- Error Page定义 --><error-page><error-code>500</error-code><location>/commons/error.jsp</location></error-page><error-page><error-code>404</error-code><location>/commons/404.jsp</location></error-page><error-page><error-code>403</error-code><location>/commons/403.jsp</location></error-page> <!-- Spring ApplicationContext配置文件的路径?,可使用通配符,多个路径用?1,号分隔 此参数用于后面的Spring-Context loader --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:spring/*.xml</param-value></context-param><!-- 默认i18n资源文件 --><context-param><param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name><param-value>i18n/messages</param-value></context-param><!-- ExtremeTable 表格标签的Properties文件 --><context-param><param-name>extremecomponentsPreferencesLocation</param-name><param-value>/extremetable.properties</param-value></context-param><context-param><param-name>extremecomponentsMessagesLocation</param-name><param-value>i18n/messages</param-value></context-param><!-- 著名 Character Encoding filter --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><!-- ExtremeTable 导出Excel和Pdf的Filter --><filter><filter-name>eXtremeExport</filter-name><filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>eXtremeExport</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--Spring ApplicationContext 载入 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 使Spring支持request与session的scope,如:<bean id="loginAction" scope="request"/> --><listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener><!-- Spring 刷新Introspector防止内存泄露 --><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener><filter><filter-name>struts2-cleanup</filter-name><filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class></filter><filter> <filter-name>struts2Filter</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2-cleanup</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2Filter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> </web-app>
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <!-- 修改说明:1.修改pakcage的namespace属性,因为URL访问规则是: /namesapce/Entity/method.do 2.根据你的包结构修改action节点的class属性 --> <struts> <constant name="struts.devMode" value="true" /> <!-- struts的URL扩展名 --> <constant name="struts.action.extension" value="do" /> <!-- 允许访问静态成员变量 --> <constant name="struts.ognl.allowStaticMethodAccess" value="true" /> <constant name="struts.custom.i18n.resources" value="i18n/messages"/> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.enable.SlashesInActionNames" value="true" /><package name="custom-default" extends="struts-default"> <result-types> <result-type name="direct"
namespace="/" extends="custom-default"><!-- 通过URL访问的路径是 /namesapce/Entity/method.do --><action name="*/*" method="{2}"type="direct">
通过Action直接返回,这一行无需修改</result></action><!-- 打开以下配置用于使用struts2自带的验证框架<action name="*/save" method="save"
type="dispatcher">
/demo/{1}/create.do</result> <result name="*" type="direct">通过Action直接返回</result></action><action name="*/update" method="update" type="dispatcher">
/demo/{1}/edit.do</result> <result name="*" type="direct">通过Action直接返回</result></action>--> </package> </struts><!-- 通过URL访问的路径是 /namesapce/Entity/method.do --><action name="*/*" method="{2}" type="direct">通过Action直接返回,这一行无需修改</result></action>
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
default-autowire="byName" default-lazy-init="false"><!-- component-scan自动搜索@Component ,
@Controller , @Service , @Repository等标注的类 --><!-- 默认值如果适合,该项可以不用修改 --><context:component-scan base-package="com.**.service.impl" /></beans>
<?xml version="1.0" encoding="UTF-8"?><!-- --><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/
schema/context/spring-context-3.0.xsd" default-autowire="byName" default-lazy-init="false"><bean id="jdbcTemplate" ref="dataSource"/> </bean> <!-- Transaction manager for a single JDBC DataSource --> <bean id="transactionManager" class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="sqlSessionFactory" value="classpath:configuration.xml"/> <property name="mapperLocations" value="classpath*:/com/**/model/**/*Mapper.xml"/> <property name="dataSource" ref="dataSource"/> </bean> <!-- component-scan自动搜索@Component , @Controller , @Service , @Repository等标注的类 --><context:component-scan base-package="com.**.dao"/> </beans>25 楼 ww20042005 2010-05-22 看的有些晕! 26 楼 香烟与酒 2010-06-22 这位仁兄啊,我想知道你的这个页面的布局代码,还有就是点击树节点时候怎么生成tab页面的,能否贴出来看看啊,谢谢 27 楼 select*from爱 2010-06-22 楼主打个包传上来,下来看看