讲的比较清楚、透彻!但有几个问题:
IS_AUTHENTICATED_ANONYMOUSLY、ROLE_MODIFY_USER等 有什么作用?由谁定义啊?
纠正一下建表的几个小错误,正确的如下:
create table users(
id int not null auto_increment primary key ,
username varchar ( 20 ) not null ,
password char ( 32 ) not null ,
monicker varchar ( 30 ) not null ,
question varchar ( 30 ) not null ,
answer varchar ( 30 ) not null ,
email varchar ( 40 ) not null ,
qq varchar ( 12 ) not null ,
roleid int not null ,
score int not null default ' 0 ' ,
regtime timestamp not null default CURRENT_TIMESTAMP ,
logintime timestamp not null default ' 2007-01-01 00:00:00 ' ,
isdeleted varchar ( 2 ) not null default ' 0' ,
index (username),
index (monicker)
);
create table roles(
id int not null auto_increment primary key ,
rolename varchar ( 20 ) not null ,
privilegesFlag varchar ( 255 ),
index (rolename)
);
create table groups(
id int not null auto_increment primary key ,
groupname varchar ( 40 ) not null ,
creatorid int not null ,
createtime timestamp not null default CURRENT_TIMESTAMP ,
isdeleted varchar ( 2 ) not null default ' 0' ,
index (groupname)
);
create table users_groups(
id int not null auto_increment primary key ,
userid int not null ,
groupid int not null ,
jointime timestamp ,
status tinyint ,
index (userid),
index (groupid)
);
re: 再谈SpringSide 2.0 虎啸龙吟 2008-12-04 11:44
看了你的文章后,启发很大啊。
期待您能出更多更好的springside方面的文章
顺便问一句:你的eclipse是什么版本啊?
re: Ext 2.0使用:组件开发模式 虎啸龙吟 2007-11-15 19:40
我这里也有一段代码,是从Ext 论坛上摘下来的,实现用form当window来使用,我就是不能调用继承下来的类,请帮我实现一下:谢了.
ComplainFormWindow= function(){
this.complainForm= new Ext.form.FormPanel({
labelWidth: 75, // label settings here cascade unless overridden
url:'ComplainControlLayer.aspx',
frame:true,
bodyStyle:'padding:5px 5px 0',
width: 500,
items: [{
layout:'column',
items:[{
columnWidth:.5,
layout: 'form',
xtype:'fieldset',
title: 'Personal Information',
autoHeight:true,
items: [{
xtype:'textfield',
fieldLabel: '<b>First Name</b>',
name: 'fName',
allowBlank:false,
anchor:'95%'
},{
xtype:'textfield',
fieldLabel: '<b>Middle Name</b>',
name: 'mName',
anchor:'95%'
}
,
{
xtype:'textfield',
fieldLabel: '<b>Last Name</b>',
allowBlank:false,
name: 'lName',
anchor:'95%'
},
{
xtype:'textfield',
fieldLabel: '<b>E-mail Add</b>',
name: 'e-mail',
allowBlank:true,
vtype:'email',
anchor:'95%'
}]
},{
columnWidth:.5,
layout: 'form',
xtype:'fieldset',
title: '<b>Personal Information</b>',
labelWidth:60,
autoHeight:true,
items: [{
xtype:'textfield',
fieldLabel: '<b>Address</b>',
allowBlank:false,
name: 'address',
anchor:'95%'
},
{
xtype:'textfield',
fieldLabel: '<b>Ward No</b>',
allowBlank:false,
name: 'ward',
anchor:'95%'
}]
}]
},{
layout:'column',
xtype:'fieldset',
title:'<b>Other Information</b>',
autoHeight:true,
items:[{
columnWidth:.5,
layout: 'form',
autoHeight:true,
items: [this.deptCombo]
},{
columnWidth:.5,
layout: 'form',
labelWidth:50,
autoHeight:true,
items: [{
xtype:'textfield',
fieldLabel: '<b>Subject</b>',
name: 'subject',
allowBlank:false,
anchor:'95%'
}]
}]
}
,{
layout: 'form',
xtype:'fieldset',
title: '<b>Insert Comment</b>',
autoHeight:true,
items:[{
xtype:'textarea',
name:'comment',
allowBlank:false,
hideLabel:true,
height:120,
anchor:'98%'
}]
}],
buttons: [{
text: 'Save',
handler:this.formSubmit,
scope:this
},{
text: 'Cancel',
handler: function(){
this.hide();
},
scope:this
}]
});
ComplainFormWindow.superclass.constructor.call(this, {
title: 'Layout Window',
closable:true,
width:800,
height:475,
closeAction:'hide',
layout: 'fit',
items:this.complainForm
});
}
Ext.extend(ComplainFormWindow,Ext.Window,{
formSubmit: function(){
if(this.complainForm.form.isValid())
{
this.complainForm.form.submit({params:{
requestData: 'addnewcomplain'},
failure: function() {
// Ext.MessageBox.alert('Error Message',"fail");
alert('h');
},
success: function() {
//win.close();
}
});
}
else{
Ext.Msg.alert('Complain Submit', 'Enter the Field');
}
}
});