订阅所有JSP/Servlet的日志 订阅 | 这是最新一篇日志 上一篇 | 下一篇日志 下一篇 ]
java

struts2 官方指南

struts官方帮助地址 http://struts.apache.org/2.x/docs/tag-developers-guide.html

记录一下,

FreeMarker is a Java-based template engine that is a great alternative to JSP. FreeMarker is ideal for situations where your action results can possibly be loaded from outside a Servlet container. For example, if you wished to support plugins in your application, you might wish to use FreeMarker so that the plugins could provide the entire action class and view in a single jar that is loaded from the classloader.

For more information on FreeMarker itself, please visit the FreeMarker website.

FreeMarker is very similar to Velocity, as both are template languages that can be used outside of a Servlet container. The framework utilizes FreeMarker because FreeMarker has better error reporting. However, both are good alternatives to JSP.


Getting Started
Getting started with FreeMarker is as simple as ensuring all the dependencies are included in your project's classpath. Typically, the only dependency is freemarker.jar. Other than that, struts-default.xml already configures the FreeMarker Result needed to process your application's templates.

struts.xml
<action name="test" class="com.acme.TestAction">
<result name="success" type="freemarker">test-success.ftl</result>
</action>
Then in test-success.ftl:

test-success.ftl
<html>
<head>
<title>Hello</title>
</head>
<body>

Hello, ${name}

</body>
</html>
Where name is a property on your action. That's it! Read the rest of this document for details on how templates are loaded, variables are resolved, and tags can be used.

Servlet / JSP Scoped Objects
The following are ways to obtained Application scope attributes, Session scope attributes, Request scope attributes, Request parameters, and framework Context scope parameters:-

Application Scope Attribute
Assuming there's an attribute with name myApplicationAttribute in the Application scope.

<#if Application.myApplicationAttribute?exists>
${Application.myApplicationAttribute}
</#if>
or

<@s.property value="%{#application.myApplicationAttribute}" />
Session Scope Attribute
Assuming there's an attribute with name mySessionAttribute in the Session scope.

<#if Session.mySessionAttribute?exists>
${Session.mySessionAttribute}
</#if>
or

<@s.property value="%{#session.mySessionAttribute}" />
Request Scope Attribute
Assuming there's an attribute with name 'myRequestAttribute' in the Request scope.

<#if Request.myRequestAttribute?exists>
${Request.myRequestAttribute}
</#if>
or

<@s.property value="%{#request.myRequestAttribute}" />
Request Parameter
Assuming there's a request parameter myParameter (eg. http://host/myApp/myAction.action?myParameter=one).

<#if Parameters.myParameter?exists>
${Parameters.myParameter}
</#if>
or

<@s.property value="%{#parameters.myParameter}" />
Context parameter
Assuming there's a parameter with the name myContextParam in framework context.

${stack.findValue('#myContextParam')}
or

<@s.property value="%{#myContextParam}" />
Template Loading
The framework looks for FreeMarker templates in two locations (in this order):

Web application
Class path
This ordering makes it ideal for providing templates inside a fully-built jar, but allowing for overrides of those templates to be defined in your web application. In fact, this is how you can override the default UI tags and Form Tags included with the framework.

In addition, you can specify a location (directory on your file system) through the templatePath or TemplatePath context variable (in the {{web.xml)}. If a variable is specified, the content of the directory it points to will be searched first.

This variable is currently NOT relative to the root of your application.

Variable Resolution
When using FreeMarker with the framework, variables are looked up in several different places, in this order:

Built-in variables
Value stack
Action context
Request scope
Session scope
Application scope
Note that the action context is looked up after the value stack. This means that you can reference the variable without the typical preceding has marker (#) like you would have to when using the JSP s:property tag. This is a nice convenience, though be careful because there is a small chance it could trip you up.

<@s.url id="url" value="http://www.yahoo.com"/>
Click here!
The built-in variables that Struts-FreeMarker integration provides are:

Name Description
stack The value stack itself, useful for calls like ${stack.findString('ognl expr')}
action The action most recently executed
response The HttpServletResponse
res Same as response
request The HttpServletRequest
req Same as request
session The HttpSession
application The ServletContext
base The request's context path

Tag Support
FreeMarker includes complete tag support. See the FreeMarker Tags documentation for information on how to use the generic Struts Tags provided by Struts. In addition to this, you can use any JSP tag, like so:

<#assign mytag=JspTaglibs["/WEB-INF/mytag.tld"]>
<@mytag.tagx attribute1="some ${value}"/>
Where mytag.tld is the JSP Tag Library Definition file for your tag library. Note: in order to use this support in FreeMarker, you must enable the JSPSupportServlet in web.xml:

Adding JspSupportSerlvet to web.xml
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Tips and Tricks
There are some advanced features that may be useful when building Struts applications with FreeMarker.

Type Conversion and Locales
FreeMarker has built in support for formatting dates and numbers. The formatting rules are based on the locale associated with the action request, which is by default set in struts.properties but can be over-ridden using the I18n Interceptor. This is normally perfect for your needs, but it is important to remember that these formatting rules are handled by FreeMarker and not by the framework's Type Conversion support.

If you want the framework to handle the formatting according to the Type Conversion you have specified, you shouldn't use the normal ${...} syntax. Instead, you should use the property tag. The difference is that the property tag is specifically designed to take an OGNL expression, evaluate it, and then convert it to a String using any Type Conversion rules you have specified. The normal ${...} syntax will use a FreeMarker expression language, evaluate it, and then convert it to a String using the built in formatting rules.

The difference in how type conversion is handled under Freemarker is subtle but important to understand.

Extending
Sometimes you may with to extend the framework's FreeMarker support. For example, you might want to extend the Struts tags that come bundled with the framework.

To extend the Freemarker support, develop a class that extends org.apache.struts2.views.freemarker.FreemarkerManager, overriding methods as needed, and plugin the class through the struts.properties:

struts.freemarker.manager.classname = com.yourcompany.YourFreeMarkerManager
ObjectWrapper Settings
Once you get familiar with FreeMarker, you will find certain subtletieswith it that may become frustrating. The most common thing you'll likely run in to is the BeansWrapper provided by FreeMarker. If you don't know what this is, don't worry. However, if you do, know this:

The StrutsBeanWrapper extends the default FreeMarker BeansWrapper and provides almost no change in functionality, except for how it handles maps. Normally, FreeMarker has two modes of operation: either support for friendly map built-ins (?keys, ?values, etc) but only support for String keys; OR no special built-in support (ie: ?keys returns the methods on the map instead of the keys) but support for String and non-String keys alike. Struts provides an alternative implementation that gives us the best of both worlds.


It is possible that this special behavior may be confusing or can cause problems. Therefore, you can set the struts.freemarker.wrapper.altMap property in struts.properties to false, allowing the normal BeansWrapper logic to take place instead.

Syntax Notes

平均得分
(0 次评分)





文章来自: apache
标签: Struts freemake 
评论: 236 | 查看次数: 7069
  • 共有 236 条评论
  • 1
  • 2
  • 3
  • 4
  • 5
  • |
  • >>
一剪梅 [2010-04-28 15:49:58]
w316784971 [2010-03-04 16:15:37]
支持了有空也来我的空间看看我是一个小说爱好者,很喜欢看校园言情小说
szmybj999 [2010-01-31 22:24:23]
深圳市蚂蚁搬家有限公司是经国家注册和深圳市运输局批准的一家大型的正规搬迁运输公司,公司为方便客户就近搬迁,特在深圳各区镇开设有:
深圳搬家公司
深圳福田搬家公司
深圳龙岗搬家公司
深圳盐田搬家公司
深圳宝安搬家公司
深圳南山搬家公司
深圳罗湖搬家公司
tutu11 [2009-12-01 20:25:38]
beeflee [2009-08-25 14:36:28]
beeflee [2009-08-04 13:51:22]
mkqq402317167 [2009-05-12 15:39:38]
http://www.ronggaodoor.com/佛山专业提供伸缩门!实力雄厚啊!引领时代潮流,创造完美价值。荣高科技一直潜心致力于 伸缩门 电动伸缩门,道闸、护栏、旗杆等研发、生产与销售,本着以高端品质进入市场的思路,坚持科技创新的品质方针,优良的服务理念,人性化的管理理念。荣高科技立足华南,服务全球,与您共创行业新高,谱写历史新辉煌。 制造伸缩门的劳斯莱斯!
beeflee [2009-05-08 15:37:03]
游客 [2009-01-19 10:04:29]
婚庆
北京搬家公司
光盘制作
婚纱摄影
心理咨询
激光打标机
桑拿设备
光盘刻录
化工模型
机械模型

办证
商标设计
不锈钢弯头
光盘制作
冷库
光盘制作
GRC构件
船模
品牌策划
无缝钢管
磁性物料卡
结婚钻戒
市场策划
显微镜
营销策划
塑料模具
标志设计
冷库
粉碎机
北京办证
北京办证


租车
电子秤
布袋除尘器
酒店用品
整体橱柜
户外帐篷
血糖仪
休闲桌椅
呼叫中心
vi设计
钻戒
贵州茅台酒
离子风机
北京化妆学校
平面设计
电视墙
多媒体制作
课件制作
除尘设备
粉碎机


铂金钻戒
钻石项链
密封件
电话录音
车库门
论文设计
设计协会
logo设计
环氧树脂地坪漆
五粮液
印刷
防静电设备
结婚戒指
北京印刷
印刷厂
血糖仪
北京英语培训
印刷公司
印刷设计
剑南春
设计印刷
健身器材
开水器
电热管
北京印刷厂
北京模特公司
环保袋
北京艺术学校
减速机
喷砂机
精密模具
模具公司
模具制造
无缝钢管
无缝钢管
化妆学校
美发学校
工程信息
相册制作
减速机



设计公司
透视扑克
桑拿设备
开水器
画册印刷
帆布袋
甲醛检测
模特公司
包装设计
学习桌
塑料模具
精密模具
激光打标机
整体橱柜
户外帐篷
枕头
密封件
离子风机
防静电设备
汗蒸房

平衡阀
茅台酒
太阳能发电
不锈钢雕塑
化妆学校
制氧
制氮
木门
画廊
油画
环氧树脂地坪漆
Raffinose
Sesamin
Lutein
影视表演
订婚戒指
饲料添加剂
叶黄素
不锈钢法兰
酒店用品
光盘制作
平衡阀
防尘设备
多功能水泵控制阀
布袋除尘器
工业模型
机械模型
望眼镜
光盘复制



沙盘
光盘印刷
沙宣学校
太阳伞
stone sculpture
钻石戒指
化妆培训
garden sculpture
marble fireplace
fireplace mantel
marble fountain
stone fountain
garden fountain
stainless steel welded pipe
stainless steel seamless pipe
stainless steel flange
fireplace
china stone
art sculpture
stone fireplace
fireplace 
fireplace mantel 
marble fireplace
stone fireplace
marble fountain
stone fountain 
garden fountain
art sculpture 
garden sculpture  
stone sculpture

高压软管
水果礼品
烤漆门
礼品水果
示波器
汗蒸房
心理医生
徽章制作
塑料袋
机柜
电气石汗蒸房
汗蒸房
演员培训
表演学校
红外线节能灶头
暖风机
工作服
汽油焊割机
宣传片制作
防辐射孕妇装
语音报警器
模具公司
如家
锦江之星
磁性货位卡
礼品水果
刻盘
语音芯片
托玛琳汗蒸房
桑拿房
装修污染
室内空气净化
咖啡机
床垫
劳保用品
stainless steel elbow
情侣对戒
冷却塔
订婚钻戒
装修污染
裸钻
结婚对戒
钻石耳钉
钻石女戒
咪表
挤塑板
游客 [2009-01-17 13:48:28]
货架
仓储货架
货架
仓储笼
仓储笼
钢托盘
google推广
仓储笼
仓储笼
仓储笼
仓储笼
货架
仓储笼
塑料托盘
仓储货架
中度货架
仓储设备
货架
护栏网
护栏网
南京笔记本维修
google排名
仓储笼
折叠式仓储笼
南京仓储笼
仓储笼报价
仓储笼图片
仓储笼
仓储笼
仓储笼
仓储笼
折叠式仓储笼
南京仓储笼
仓储笼
仓储笼
仓储笼
仓储笼
仓储笼
仓储笼
仓储笼
仓储笼
手推车
静音手推车
静音手推车
铁板手推车
钢托盘
塑料托盘
钢托盘
仓储笼
登高车
手推车
钢制料箱
护栏网
塑料托盘
托盘
仓储笼
手推车
仓储笼
钢托盘
木托盘
仓储笼
钢托盘
塑料托盘
轻型货架
中量A型货架
中量B型货架
货位货架
阁楼式货架
悬臂式货架
抽屉式货架
滚轮式货架
贯通货架
中型货架
重型货架
贯通货架
阁楼货架
货架
悬臂货架
模具货架
滚轮货架
轻型货架
中型货架
中型货架
重型货架
悬臂货架
模具货架
阁楼货架
贯通货架
仓储笼
无锡仓储笼
天津仓储笼
上海仓储笼
北京仓储笼
苏州仓储笼
无锡仓储笼
天津仓储笼
上海仓储笼
北京仓储笼
苏州仓储笼
南京仓储笼
折叠式仓储笼
仓储笼
货架
仓储货架
重型货架
仓储笼
角钢货架
托盘搬运车
轻型货架
中型货架
中量型货架
抽屉货架
汽配库货架
悬臂货架
贯通货架
滚轮货架
重型货架
中量B型货架
中量A型货架
轻型货架
角钢货架
中型货架
货位货架
滚轮货架
贯通式货架
悬臂式货架
汽配库货架
抽屉货架
阁楼货架

上海仓储笼
北京仓储笼
广州仓储笼
深圳仓储笼
杭州仓储笼
青岛仓储笼
武汉仓储笼
苏州仓储笼
宁波仓储笼
天津仓储笼
合肥仓储笼
大连仓储笼
厦门仓储笼
成都仓储笼
南京仓储笼
扬州仓储笼
南宁仓储笼
威海仓储笼
温州仓储笼
东营仓储笼
汕头仓储笼
南昌仓储笼
九江仓储笼
衡阳仓储笼
贵阳仓储笼
昆明仓储笼
佛山仓储笼
邯郸仓储笼
济南仓储笼
重庆仓储笼
沈阳仓储笼
上海仓储笼
宁波仓储笼
杭州仓储笼
苏州仓储笼
北京仓储笼
南京仓储笼
仓储笼
折叠式仓储笼
折叠仓储笼
求购仓储笼
仓储笼图片
供应仓储笼
唐山仓储笼
保定仓储笼
石家庄仓储笼
邯郸仓储笼
太原仓储笼
大同仓储笼
长冶仓储笼
河北仓储笼
辽宁仓储笼
鞍山仓储笼
锦州仓储笼
营口仓储笼
吉林仓储笼
长春仓储笼
无锡仓储笼
江阴仓储笼
镇江仓储笼
南通仓储笼
盐城仓储笼
淮阴仓储笼
淮安仓储笼
常州仓储笼
武进仓储笼
江都仓储笼
浙江仓储笼
昆山仓储笼
湖州仓储笼
嘉兴仓储笼
绍兴仓储笼
温州仓储笼
丽水仓储笼
金华仓储笼
芜湖仓储笼
淮南仓储笼
马鞍山仓储笼
福州仓储笼
莆田仓储笼
泉州仓储笼
石狮仓储笼
江西仓储笼
南昌仓储笼
山东仓储笼
菏泽仓储笼
烟台仓储笼
潍坊仓储笼
河南仓储笼
郑州仓储笼
新乡仓储笼
内蒙古仓储笼
包头仓储笼
哈尔滨仓储笼
齐齐哈尔仓储笼
佳木斯仓储笼
湖北仓储笼
襄樊仓储笼
黄石仓储笼
呼和浩特仓储笼
宜昌仓储笼
十堰仓储笼
湖南仓储笼
长沙仓储笼
常熟仓储笼
株洲仓储笼
岳阳仓储笼
广东仓储笼
江门仓储笼
韶关仓储笼
惠州仓储笼
汕头仓储笼
深圳仓储笼
珠海仓储笼
佛山仓储笼
广州仓储笼
湛江仓储笼
南宁仓储笼
广西仓储笼
柳州仓储笼
海口仓储笼
四川仓储笼
攀枝花仓储笼
绵阳仓储笼
宜宾仓储笼
乐山仓储笼
贵州仓储笼
贵阳仓储笼
昆明仓储笼
玉溪仓储笼
拉萨仓储笼
西安仓储笼
宝鸡仓储笼
甘肃仓储笼
兰州仓储笼
酒泉仓储笼
青海仓储笼
西宁仓储笼
银川仓储笼
新疆仓储笼
阿克苏仓储笼
乌鲁木齐仓储笼
仓储笼
折叠式仓储笼
折叠仓储笼
仓库笼
储物笼
萧山仓储笼
绍兴仓储笼
嘉兴仓储笼
台州仓储笼
宁波仓储笼
杭州仓储笼
浙江仓储笼
常州仓储笼
盐城仓储笼
南通仓储笼
上海仓储笼
常熟仓储笼
苏州仓储笼
无锡仓储笼
镇江仓储笼
南京仓储笼
安庆仓储笼
合肥仓储笼
蚌埠仓储笼
徐州仓储笼
潍坊仓储笼
诸城仓储笼
山东仓储笼
青岛仓储笼
大连仓储笼
天津仓储笼
北京仓储笼
北京仓储笼
中度货架
货架厂
南京货架
无锡货架
南通货架
常州货架
镇江货架
徐州货架
扬州货架
淮安货架
泰州货架
盐城货架
连云港货架
宿迁货架
张家港货架
常熟货架
昆山货架
杭州货架
温州货架
宁波货架
嘉兴货架
绍兴货架
衢州货架
金华货架
台州货架
舟山货架
丽水货架
江阴货架
太仓货架
吴江货架
宜兴货架
诸暨货架
慈溪货架
余姚货架
大连货架
北京货架
鞍山货架
重庆货架
青岛货架
深圳货架
广州货架
苏州货架
货架公司
重庆货架
佛山货架
成都货架
东莞货架
武汉货架
沈阳货架
烟台货架
唐山货架
济南货架
郑州货架
石家庄货架
长春货架
临沂货架
威海货架
厦门货架
德州货架
潍坊货架
中山货架
合肥货架
商丘货架
晋城货架
乌海货架
九江货架
绵阳货架
新余货架
攀枝花货架
茂名货架
惠州货架
惠州货架
焦作货架
咸阳货架
遵义货架
丹阳货架
廊坊货架
牡丹江货架
仪征货架
景德镇货架
张家界货架
宝鸡货架
吉安货架
怀化货架
鹤山货架
恩平货架
宜宾货架
德阳货架
阜新货架
巩义货架
武夷山货架
肇庆货架
营口货架
宣城货架
宿州货架
抚顺货架
上饶货架
铜川货架
六盘水货架
莱西货架
漯河货架
驻马店货架
永州货架
白银货架
青岛货架
台湾货架
西藏货架
三亚货架
海口货架
詹州货架
海南货架
西宁货架
青海货架
安庆货架
商洛货架
渭南货架
巢湖货架
六安货架
铜陵货架
淮北货架
黄山货架
阜阳货架
安庆货架
马鞍山货架
淮南货架
芜湖货架
蚌埠货架
滁州货架
安徽货架
宁德货架
莆田货架
晋江货架
泉州货架
漳州货架
龙岩货架
三明货架
梅山货架
汕头货架
珠海货架
河源货架
清远货架
顺德货架
云浮货架
阳江货架
河北货架
山西货架
内蒙古货架
辽宁货架
吉林货架
黑龙江货架
上海货架
江苏货架
浙江货架
福建货架
江西货架
山东货架
湖北货架
湖南货架
湖南货架
广东货架
广西货架
四川货架
游客 [2009-01-17 09:26:32]
游客 [2009-01-17 08:52:55]
你可以把发射信号的探头放在身上任何部位。游戏机遥控器也可以装在包里面(只要探头贴在机器上)。也可以放在方便袋里面~! 游戏机上分器机器的要点就在摇杆和pass键。把机器的探头贴近这两个部位其中的一个,游戏机定位器按住上分按钮就可以上分!上分时注意。要在一副牌打完时。游戏机干扰器开牌或押分的时候即可上分~!
游客 [2009-01-17 08:52:15]
星光电子提供镰刀老虎机破解器深圳老虎机上分器,你想拥有自己的我公司有最新的老虎机定位器,百家乐
老虎机遥控器深圳老虎机干扰器 ,
电玩老虎机干扰器,等。
游客 [2009-01-07 16:02:36]
quilting machine
digital signage
advertising display
ad player
digital sign
advertisement display
advertising player
常用英语口语
成人学位英语考试
英语
英语学习
used LCD
used flat screen
second hand lcd
used LCD monitor
成人英语怎么说
成人自考英语
成人自考英语
英语自我介绍
英语自我介绍
英语新闻
英语培训中心
英语网站
英语培训学校
英语美文
英语培训机构
英语六级听力
英语口语速成
英语口语练习
英语口语对话王
英语口语等级考试
英语翻译
英语短文
2008上海卷英语答案
常用英语口语
杭州新东方英语培训
杭州英语培训
剑桥少儿英语学习网
剑桥英语培训
课程设计英语
李阳疯狂英语
李阳疯狂英语口语
免费英语课程
免费英语学习软件
免费英语学习网
免费英语学习网站
如何提高英语口语
如何学好英语口语
如何学习英语
网上英语学习
韦博英语培训
新东方英语培训学校
新东方英语学习
新概念英语在线学习
星火英语
学习英语的好方法
学习英语的软件
学习英语的网站
在上海学习英语
在线英语词典
在线英语课程
二手液晶
旧液晶屏
旧液晶
二手液晶屏
废旧液
在线英语学习网站
怎样提高英语口语
怎样学习英语
中国英语学习网
自考英语专业课程
最好的英语学习网站
成人高考 英语专业
成人高考英语
成人高考英语试题
成人高考专升本英语
成人基础英语
成人教育 英语
成人学位英语考试
成人英语三级考试
成人英语三级试题
上海凯恩英语
上海李阳疯狂英语
上海少儿英语培训
上海市职称英语考试
上海英语培训中心
上海英语学校
上海英语中级口译
上海职称英语考试
英语单词学习
英语短文
英语对话
英语口试
英语口语900句
英语口语mp3
英语口语mp3下载
英语口语测试
英语口语等级考试
英语口语对话王
英语口语教材
英语口语教程
英语口语考试
英语口语练习
英语口语培训班
英语口语情景对话
英语口语速成
英语口语资料
英语口语资料下载
英语聊天室
英语六级考试
英语六级听力
英语培训班
英语培训机构
英语培训招生简章
英语培训中心
英语日常口语
英语听力
英语听力下载
英语网站
英语新课程标准
英语新闻
英语学习方法
英语学习视频
英语学习网
英语学习下载
英语学习资料
英语音标
英语音标学习
英语语法学习
英语在线翻译
英语在线学习
英语中级口语
英语字典
英语自我介绍
成人英语自学
成人怎么学英语
成人自考英语
商务英语口语培训
商务英语口语下载
商务英语培训课程
商务英语学习
上海疯狂英语
上海新东方英语培训
上海英语
上海英语口语
上海英语口语培训
上海英语培班
上海英语培训
上海英语培训班
英语口语学习软件
英语口语学习网
英语学习计划
英语学习技巧
英语学习论坛
昂立英语培训
常用英语口语
大学英语网络课程
高级英语
高考英语口语
剑桥商务英语培训
剑桥商务英语培训班
空中英语教室
快速学习英语
免费英语学习
免费英语在线学习
新概念英语培训
学习英语的重要性
研究生英语课程
在线英语培训
怎样学好英语
怎样学好英语口语
怎样学习英语
成人英语三级
上海华尔街英语
上海英语培训机构
上海英语培训学校
上海英语中级口译
上海英语自考
英语初级口语
英语词汇学习
英语口语对话
英语口语教学
英语口语课程
英语口语软件
英语口语听力
英语口语学习下载
英语口语自我介绍
英语论坛
英语入门学习
英语三级
英语网
英语小故事
英语写作
英语学习
英语学习mp3
英语学习软件
英语学习软件下载
英语学习网站
英语学习网址
英语学习资料下载
英语演讲
英语专业
成人英语考试
成人英语游戏
成人英语自学
商务英语
商务英语口语
商务英语口语900句
商务英语培训
商务英语培训班
商务英语学习
商务英语专业
上海新概念英语培训
上海英语口语培训班
上海英语口语学校
英语口语下载
英语口语学习
bec商务英语培训
2008上海英语高考题
学习英语的方法
英语学习经验
昂立英语培训
成人本科学位英语
成人高考英语单词
成人高考英语试卷
成人教育英语考试
成人如何学习英语
成人如何学英语
成人三级英语辅导
成人学士学位英语
成人学位英语词汇
成人学位英语试题
成人英语教学
成人英语培训班
成人英语三级词汇
成人怎样学英语
成人英语学习
免费英语口语
如何练习英语口语
商务英语的课程
商务英语精品课程
商务英语课程设置
商务英语专业
商务英语专业课程
上海昂立英语
上海公共英语报名
上海哪里学英语好
上海牛津英语
上海商务英语培训班
上海市职称英语考试
上海外国语大学英语
上海韦博国际英语
上海韦博英语
上海新东方英语
上海新东方英语网站
上海新东方英语学校
上海新概念英语
上海新世界英语
上海学习英语口语
上海学英语
上海学英语口语
上海英孚英语
上海英语等级考试
上海英语翻译
上海英语家教
上海英语角
上海英语四级
上海英语四级考试
上海英语学习
上海中考英语作文
网络英语学习
旺旺英语
旺旺英语学习网站
新东方英语口语
新东方英语培训班
新东方英语学习网站
星火英语
学习英语的好处
英语精品课程
英语课程标准
英语口语8000句 mp3
英语口语班
英语口语材料
英语口语的重要性
英语口语范文
英语口语话题
英语口语交际
英语口语句型
英语口语句子
英语口语考试试题
英语口语课程下载
英语口语论坛
英语口语免费下载
英语口语视频
英语口语试题
英语口语听力下载
英语口语网
英语口语学习网站
英语口语训练
英语口语在线学习
英语四级课程
英语网络课程
英语网上课程
英语学习班
英语学习电影
英语学习辅导报
英语学习工具
英语学习教材
英语学习频道
英语学习心得
英语阅读
英语专业课程
在线英语口语
怎么学习英语
hfer
游客 [2009-01-07 13:10:14]
  • 共有 236 条评论
  • 1
  • 2
  • 3
  • 4
  • 5
  • |
  • >>
发表评论
昵 称:  登录
内 容:
选 项:
字数限制 1000 字 | UBB代码 开启 | [img]标签 开启