日期:2014-05-16  浏览次数:20338 次

Extjs4 store load 有中文字符提交后台乱码解决方法

?????? 最看到Exjs4很多改进的相关信息,产生用用看的想法。所以就着手4.x方面的学习。在学习的过程当中发现4.x 相对以前版本存在很多的差别。baidu或谷歌一下有一大堆讲解。 参考一些资料后着手4.x的学习与开发。本人是参照官方MVC例子着手学习的。开发一个基于java后台的增、删、改、查的例子。在做增加、更改、查询时都没有出现乱码情况。以下是增加与更改的ext代码:

Ext.define('W.gzgl.views.common.MenuAddPanel',{
	extend 		: 'Ext.window.Window',
	layout		: 'fit',
    resizable	: true,
	width		: 400,
	height  	: 300,
	title		: '菜单增加',
	closeAction : 'close',
	initComponent : function(){
		this.items = this.buildItems(this);
		this.callParent();
	},
	buildItems  : function(form){
			
		return Ext.create('Ext.form.Panel', {
	        bodyPadding		: 5,
	        border 			: false,
	        waitMsgTarget	: true,
	        fieldDefaults	: {
	            labelAlign	: 'right',
	            labelWidth	: 85,
	            msgTarget	: 'side'
	        },
			bodyStyle 		: "border-bottom: 1px solid #8db2e3;",
	        items: [{
	            xtype		: 'fieldset',
	            title		: '菜单增加',
	            defaultType	: 'textfield',
	            defaults	: {
	                width: 280
	            },
	            items		: [{
	                    fieldLabel	: '菜单序号',
	                    emptyText	: '请输入...',
	                    allowBlank	: false,
	                    name		: 'id'
	                },{
	                    fieldLabel	: '菜单名',
	                    emptyText	: '请输入...',
	                    allowBlank	: false,
	                    name		: 'name'
	                }, {
	                    fieldLabel	: '加载组件名',
	                    emptyText	: '请输入...',
	                    name		: 'componetName'
	                }, {
	                    fieldLabel	: '样式',
	                    name		: 'iconCls'
	                }, /*{
	                    fieldLabel	: '父菜单',
	                    name		: 'parentId'
	                    
	                }*/
	                Ext.create('W.gzgl.componet.common.select.MenuSelect',{
	                	fieldLabel	: '父菜单',
	                	name		: 'parentId'
	                })
	                ,{
	                    xtype		: 'radiogroup',
		                fieldLabel	: '是否叶子',
		                defaults	: {
		                    name	: 'leaf'
		                },
		                items		: [{
		                	//checked		: true,
		                    inputValue	: 'true',
		                    boxLabel	: '是'
		                }, {
		                    inputValue	: 'false',
		                    boxLabel	: '否'
		                }]
	                },{
		                xtype		: 'radiogroup',
		                fieldLabel	: '是否启用',
		                defaults	: {
		                    name: 'visible'
		                },
		                items		: [{
		                	//checked		: true,
		                    inputValue	: 'true',
		                    boxLabel	: '启用'
		                }, {
		                    inputValue	: 'false',
		                    boxLabel	: '不启用'
		                }]
		            }
	            ]
	        }],
	
	        buttons: [{
	            text	: '重 置',
	            handler	: function(){
	               /* formPanel.getForm().load({
	                    url		: 'xml-form-data.xml',
	                    waitMsg	: 'Loading...'
	                });*/
	            	this.up('form').getForm().reset();
	            }
	        }, {
	            text		: '保 存',
	            disabled	: true,
	            formBind	: true,
	            iconCls		: 'icon-delete',
	            handler		: function(){
	            	var actionUrl = form.actionType === 'create' ? 'manager/menuCreate.hs' : 'manager/menuUpdate.hs';
	                this.up('form').getForm().submit({
	                	method			: 'post',
	                    url				: actionUrl,
	                    submitEmptyText	: false,
	                    waitMsg			: '数据保存中...',
	                    success 		: function(response){
	                    	Ext.getCmp(form.gridName).getStore().load();
	                    	form.close();