数据库表
这个sql是用
pd
生成的,具体内容大家自己看一下好了,很简单,数据也自己填充一下。标题上说是用
mysql
<clk>,其实无所谓用啥数据库了,这里我<nobr id="clickeyekey0" style="border-bottom: 1px dotted rgb(102, 0, 255); text-decoration: underline; color: rgb(102, 0, 255); background-color: transparent;" onclick="kwC(event,0)" oncontextmenu="return false" onmouseover="kwE(event,0, this)" onmouseout="kwL(event,this)" onmousemove="kwM(0)">推荐</nobr></clk>
Postgresql
,现在有for win平台了,不用
cygwin
来模拟unix环境,这个
Postgresql
一来小巧,二来功能齐全,看起来有点象
Oracle
,当然速度也很快了。
/**/
/*
==============================================================
*/
/**/
/*
Table:tblmobile
*/
/**/
/*
==============================================================
*/
create
table
tblmobile
(
id
integer
(
11
)
not
null
default
0
,
categoryid
integer
(
11
),
name
varchar
(
255
),
image
varchar
(
255
),
price
decimal
(
12
,
2
),
addtime
datetime
,
primary
key
(id)
);
/**/
/*
==============================================================
*/
/**/
/*
Index:i_tblMobile_categoryid
*/
/**/
/*
==============================================================
*/
create
index
i_tblMobile_categoryid
on
tblmobile
(
categoryid
);
/**/
/*
==============================================================
*/
/**/
/*
Index:pk_tblmobile
*/
/**/
/*
==============================================================
*/
create
unique
index
pk_tblmobile
on
tblmobile
(
id
);
/**/
/*
==============================================================
*/
/**/
/*
Index:i_tblmobile_addtime
*/
/**/
/*
==============================================================
*/
create
index
i_tblmobile_addtime
on
tblmobile
(
addtime
);
phonselist.jsp
Jsp服务器用的是
Tomcat
,顺便做
flex
<clk>的服务器,版本没啥大关系,我现在用的是5.0.28,Jsp功能是按<nobr id="clickeyekey2" style="border-bottom: 1px dotted rgb(102, 0, 255); text-decoration: underline; color: rgb(102, 0, 255); background-color: transparent;" onclick="kwC(event,2)" oncontextmenu="return false" onmouseover="kwE(event,2, this)" onmouseout="kwL(event,this)" onmousemove="kwM(2)">手机</nobr>分类id从</clk>
mysql
数据库获取手机列表,这里为方便起见直接在jsp页面里进行数据库访问,正确的做法应该由
javabean
来分工,其后总jsp生成的是一个xml文件。
<
?xmlversion
=
"
1.0
"
encoding
=
"
utf-8
"
?
>
<
%@pagecontentType
=
"
text/html;charset=utf-8
"
%
>
<
%@pageimport
=
"
java.sql.*
"
%
>
<
phonelist
>
<
%
String
sql
=
""
;
String
url
=
""
;
String
categoryID
=
request.getParameter(
"
categoryID
"
);
try
{
Class.
Class
.forName(
"
com.mysql.jdbc.Driver
"
).newInstance();
url
=
"
jdbc:mysql://localhost/web?user=flex&password=flex&useUnicode=true&characterEncoding=gb2312
"
;
Connectionconn
=
DriverManager.getConnection(url);
Statementstmt
=
conn.createStatement();
sql
=
"
selectid,name,price,imagefromtblMobilewherecategoryid=
"
+
categoryID;
ResultSetrs
=
stmt.executeQuery(sql);
while
(rs.
next
()){
out.println(
"
<phoneid=/""+rs.getString(1)+
"
/
"
>
"
);
out.println(
"
<id>
"
+
rs.getString(
1
)
+
"
</id>
"
);
out.println(
"
<name>
"
+
rs.getString(
2
)
+
"
</name>
"
);
out.println(
"
<price>
"
+
rs.getString(
3
)
+
"
</price>
"
);
out.println(
"
<image>
"
+
rs.getString(
4
)
+
"
</image>
"
);
out.println(
"
</phone>
"
);
}
rs.close();
stmt.close();
conn.close();
}
catch
(Exceptione){
out.println(e);
}
%
>
</
phonelist
>
mobile.mxml
这里要注意一下
<mx:HTTPService>
中的
resultFormat="xml"
的设置,在这里应该把这个取掉(我原来是用来做Tree用的)。phonelisg.jsp和mobile.mxml放在相同的目录下,当然你也可以修改
url
的路径。
<?
xmlversion="1.0"encoding="utf-8"
?>
<
mx:Application
xmlns:mx
="http://www.macromedia.com/2003/mxml"
verticalGap
="10"
backgroundColor
="#FFFFFF"
pageTitle
="手机"
initialize
="initApp()"
>
<
mx:Style
source
="main.css"
/>
<
mx:HTTPService
id
="phoneService"
url
="phonelist.jsp"
resultFormat
="xml"
>
<
mx:request
>
<
categoryID
>
{categoryId}
</
categoryID
>
</
mx:request
>
</
mx:HTTPService
>
<
mx:Model
id
="phonelist"
>
{phoneService.result.phonelist.phone}
</
mx:Model
>
<
mx:Script
>
<![CDATA[
varcategoryId=2;
varcategoryName="Moto";
functioninitApp(){
phoneService.send();
}
]]>
</
mx:Script
>
<
mx:HBox
>
<
mx:LinkBar
styleName
="title"
width
="500"
click
=""
>
<
mx:dataProvider
>
<
mx:Array
>
<
mx:Object
label
="首页"
link
="main"
/>
<
mx:Object
label
="手机分类"
link
="catagory"
/>
<
mx:Object
label
="论坛"
link
="forum"
/>
<
mx:Object
label
="关于"
link
="about"
/>
</
mx:Array
>
</
mx:dataProvider
>
</
mx:LinkBar
>
<
mx:Label
text
="搜索"
/>
<
mx:TextInput
id
="key"
width
="120"
/>
<
mx:Button
label
="Go"
/>
</
mx:HBox
>
<
mx:HBox
>
<
mx:Image
source
="images/qd_2.jpg"
/>
<
mx:Label
id
="debug"
text
="123"
/>
</
mx:HBox
>
<
mx:Effect
>
<
mx:Zoom
name
="zoomBig"
zoomTo
="107"
duration
="100"
/>
<
mx:Zoom
name
="zoomSmall"
zoomTo
="100"
duration
="100"
/>
</
mx:Effect
>
<
mx:HBox
>
<
mx:Panel
id
="main"
title
=""
height
="360"
>
<
mx:Tile
width
="520"
>
<
mx:Repeater
id
="plist"
dataProvider
="{phonelist}"
startingIndex
=""
count
=""
>
<
mx:VBox
id
="itemBox"
verticalGap
="0"
horizontalAlign
="center"
mouseUp
=""
>
<
mx:Canvas
width
="100"
height
="100"
clipContent
="false"
>
<
mx:Image
width
="90"
height
="90"
source
="{plist.currentItem.image}"
toolTip
="RMB{plist.currentItem.price}"
mouseOverEffect
="zoomBig"
mouseOutEffect
="zoomSmall"
visible
="false"
complete
="event.target.visible=true;"
/>
</
mx:Canvas
>
<
mx:Label
id
="itemName"
text
="{plist.currentItem.name}"
/>
<
mx:Label
id
="itemPrice"
text
="RMB{plist.currentItem.price}"
/>
</
mx:VBox
>
</
mx:Repeater
>
</
mx:Tile
>
<
mx:ControlBar
>
<
mx:Button
label
="上一页"
click
=""
/>
<
mx:Button
label
="下一页"
click
=""
/>
<
mx:Button
label
="refresh"
click
="initApp()"
/>
</
mx:ControlBar
>
</
mx:Panel
>
</
mx:HBox
>
<
mx:HBox
horizontalAlign
="center"
>
<
mx:Label
text
="CopyRight2004dannyr'sStudio"
/>
</
mx:HBox
>
</
mx:Application
>
最后:配置Flex服务器
flex
-config.xml
<
http-service-proxy
>
<
whitelist
>
<
unnamed
>
<
url
>
http://{localserver}/flex/phonelist.jsp
</
url
>
</
unnamed
>
</
whitelist
>
</
http-service-proxy
>