然后点击查找, 就会看到当前里的表, 界面如下:
选中某一个表, 或几个, 点击生成, 我们的需要的代码就生成了.
这时回到我们的eclipse的相应目录下, 按一下f5刷新, 我们所选的表的po文件已经生成了.
<#-- 生成package信息 --> <#if p.popackagename??>package ${p.popackagename}; <#-- 生成import信息 --> <#list g.entityimportclassset as clazz> import ${clazz}; /** *description: ${g.tablecomment}[${g.tablename}]管理接口实现类
*create info: ${c.author}, ${g.createtime?string("yyyy/mm/dd")}
*凯发天生赢家一触即发官网 copyright (c) ${g.createtime?string("yyyy")}, ${c.contact} all rights reserved.
* *@version 1.0 */ public class ${g.entitycap}po { <#-- 生成主键字段信息 --> <#list g.fieldlst as f> private ${f.javatypeshort} ${f.property}; <#if f.columncomment??>// ${f.columncomment}<#if f.ispk>,主键<#if !f.isnullable>,不能为空 <#-- 生成不带参数的构造方法 --> /** *不带参数的构造方法 */ public ${g.entitycap}po(){} <#-- 生成以主键为参数的构造方法 --> /** *主键作为参数的构造方法 *@param ${g.pkfield.property} <#if g.pkfield.columncomment??>${g.pkfield.columncomment} */ public ${g.entitycap}po(${g.pkfield.javatypeshort} ${g.pkfield.property}){ this.${g.pkfield.property} = ${g.pkfield.property}; } <#-- 生成主键set/get方法 --> <#list g.fieldlst as f> /** *getter <#if f.columncomment??>${f.columncomment}<#if f.ispk>,主键<#if !f.isnullable>,不能为空 *@return */ public ${f.javatypeshort} get${f.propertycap}(){ return this.${f.property}; } /** *setter <#if f.columncomment??>${f.columncomment}<#if f.ispk>,主键<#if !f.isnullable>,不能为空 *@param ${f.property} */ public void set${f.propertycap}(${f.javatypeshort} ${f.property}){ this.${f.property} = ${f.property}; } }
选中刚才的创建的凯发天生赢家一触即发官网的解决方案, 点击”任务列表” 下面的 “添加”, 在弹出界面中输入如下信息
##### 在这个面板中作以下几点说明:
1. 模板路径${templatespath}会被pp_home//comfig//templates替换.
2. 存放路径最终的结果是前面的”基本路径” “” ”包名(转化成路径)”
3. 包名后面的文本框的值, 是包名的别名, 在freemarker文件中可以通过${p.popackagename}去引用
这进下任务列表里已经有了这个任务, 如图:
maven 让您的构建不是一般的爽,下面就看看怎么样让maven工作起来。
第一步,做好安装maven前的准备工作,首先安装jdk5或者jdk6.这一步比较简单,学java的同学应该都会,不罗嗦了,检验jdk是否安装好,可以输入如下命令后回车(windows系统)
第二步,下载maven并进行安装,maven下载地址 ,本文下载的是 。下载后解压至当前目录,我的解压地址d:/apache-maven-2.2.0-bin。
设置两个比较重要的环境变量。
验证你的安装是否正确,则在cmd 下输入 mvn –v .如果出现maven的版本信息,则表示安装成功,否则,仔细检查你的环境变量设置是否正确。
安装后maven的目录结构如下:
bin目录包含了运行maven的mvn脚本。 boot目录包含了一个负责创建maven运行所需要的类装载器的jar文件。 conf目录包含了一个全局的settings.xml文件,该文件用来自定义你机器上maven的一些行为。如果需要自定义maven,更通常的做法是覆写 %home%/.m2目录下的settings.xml文件,每个用户都有对应的这个目录。lib目录有了一个包含maven核心的jar文件。 另外,默认情况下,maven会将本地仓库存贮在%home%/.m2/repository/下,当你从远程maven仓库下载依赖的时候,maven在你本地仓库存储了这个依赖的一个副本,如果你要改变这个位置,那么你得修改settings.xml文件。例如将路径修改到d盘 ,则修改节点
第三步、创建一个简单web 项目玩玩。
cmd 下,键入命令
执行命令后显示信息如下:
此时已经创建了一个web项目,你可以切换到maven-webapp目录看到目录结构。
可以看一下这个pom.xml的内容。
packaging: 这里值为war,表示希望将该项目以war包形式打包,打包后将会在 target
目录创建一个 war 文件,并以finalname为文件名创建名为maven-wepapp.war的包。
dependency:表示这里依赖了一个junit的jar文件,只在测试阶段时才使用到。打包时并不会打到war包中去。
第四步、这个简单的web包中已经有了一个helloworld 的index.jsp文件,我们要做的就是将这个项目打包成war,然后放到web容器中去就可以看到效果了。
打包命令 mvn install, 如下:
target目录下已经存在了maven-webapp.war包,部署到tomcat等容器下后。
访问:
即可出现hello world 字样。
另外,maven提供了一个jetty的web容器插件,让我们可以不用自己去下载tomcat等容器,
但是需要在pom.xml配置jetty插件。
[xhtml] -
maven-webapp -
-
-
org.mortbay.jetty -
maven-jetty-plugin -
-
-
配置好后,可以启动jetty服务器。
mvn jetty:run
最后出现
[c-sharp] - 2009-12-09 17:35:37.065:info::jetty-6.1.22
- 2009-12-09 17:35:37.487:info::no transaction manager found - if your webapp requires one, please configure one.
- 2009-12-09 17:35:40.049:info::started selectchannelconnector@0.0.0.0:8080
- [info] started jetty server
表示启动成功,访问url即可。
如果jetty无法启动,在settings.xml中,配置一下
[xhtml] -
-
org.mortbay.jetty -
即可解决问题。
小提示:
如果想在eclipse中使用工程,则在命令行中运行
mvn eclipse:eclipse 即可生成eclipse工程所需的.project等文件。
mvn eclipse:clean 则是将eclipse配置信息清除
如果要在eclipse中查看外部引入包的源代码等,则在命令行中键入
mvn dependency:sources 即可下载源代码,如果没有下载,请先执行命令 mvn clean ,后再下载
(2)中序遍历(ldr),首先遍历左子树,然后访问根结点,最后遍历右子树。简记左-根-右。
(3)后序遍历(lrd),首先遍历左子树,然后遍历右子树,最后访问根结点。简记左-右-根。
例1:如上图所示的二叉树,若按前序遍历,则其输出序列为 。若按中序遍历,则其输出序列为 。若按后序遍历,则其输出序列为 。
前序:根a,a的左子树b,b的左子树没有,看右子树,为d,所以a-b-d。再来看a的右子树,根c,左子树e,e的左子树f,e的右子树g,g的左子树为h,没有了结束。连起来为c-e-f-g-h,最后结果为abdcefgh
中序:先访问根的左子树,b没有左子树,其有右子树d,d无左子树,下面访问树的根a,连起来是bda。
再访问根的右子树,c的左子树的左子树是f,f的根e,e的右子树有左子树是h,再从h出发找到g,到此c的左子树结束,找到根c,无右子树,结束。连起来是fehgc, 中序结果连起来是bdafehgc
后序:b无左子树,有右子树d,再到根b。再看右子树,最下面的左子树是f,其根的右子树的左子树是h,再到h的根g,再到g的根e,e的根c无右子树了,直接到c,这时再和b找它们其有的根a,所以连起来是dbfhgeca
例2:有下列二叉树,对此二叉树前序遍历的结果为( )。
a)acbedgfh b)abdgcehf
c)hgfedcba d)abcdefgh
解析:先根a,左子树先根b,b无左子树,其右子树,先根d,在左子树g,连起来是abdg。 a的右子树,先根c,c左子树e,e无左子树,有右子树为h,c的右子树只有f,连起来是cehf。整个连起来是b答案 abdgcehf。
例3:已知二叉树后序遍历是dabec,中序遍历序列是debac,它的前序遍历序列是( ) 。
a)cedba b)acbed c)decab d)deabc
解析:由后序遍历可知,c为根结点,由中序遍历可知,c左边的是左子树含deba,c右边无结点,知根结点无右子树。先序遍历先访问根c,答案中只有a以c开头,为正确答案。
例4: 如下二叉树中序遍历的结果是( )。
a). acbdfeg b). acbdfge c).abdcgef d).fcadbeg
解析:首先中序遍历根f会把左右子树分开,f不会在答案的开头和结尾,排除c和d。在看f的右子树,g是e的右子树,中序遍历先访问e,再访问g,e在g前面,排除b。答案为a。
例5:如下二叉树后序遍历的结果是( )。
a) abcdef b) dbeafc c)abdecf d)debfca
解析:后序的最后一个必须是二叉树的根,快速判断答案为d。
ok,现在web.xml里保留这一个servlet配置就可以满足所有的servlet调用了,比如调用usermanagerservice这个servlet,在页面表单里这样写:
注意表单action"/servlet/"后面是这个servletclass的全名,以上是servlet配置为web.xml瘦身.
对于取pagecontext、parameters、request、session、application 等处的属性值(假如有 name 属性)时我们用的 el 表达式分别是:
${pagescope.name}、${param.name}、{$requestscope.name}、{$sessionscope.name}、{$applicationscope.name}
那么对应的 ognl 的凯发天生赢家一触即发官网的解决方案分别是:
说明,attr 如果可以访问到,则访问 pagecontext,否则将 依次搜索 pagecontext、request、session、application 相应值,所以可用来访问 pagecontext 中的值,可替代 el 的 ${pagescope.name}。
--eof--
void remove()
removes from the underlying collection the last element returned by the
iterator (optional operation). this method can be called only once per
call to next. the behavior of an iterator is unspecified if
the underlying collection is modified while the iteration is in
progress in any way other than by calling this method.
于是有下面的改进:
凯发天生赢家一触即发官网的解决方案三:
..............................
iterator it=hs.keyset().iterator();
while(it.hasnext())
{
string str=(string)it.next();
system.out.println(hs);
it.remove();
}
..............................