设为首页 收藏本站
查看: 774|回复: 0

[经验分享] apache Click框架入门

[复制链接]

尚未签到

发表于 2017-1-3 08:26:26 | 显示全部楼层 |阅读模式
  开发环境:
  jdk:1.6
  IDE:eclipse3.5 wtp
  Tomcat:6.0
  click包:click-2.1.0-RC1-incubating
  开始进行入门级HelloWorld程序。
  1、新建web项目click-hello
  2、导入包click-2.1.0-RC1-incubating.jar(核心包)、click-extras-2.1.0-RC1-incubating.jar(扩展包)。
  3、配置web.xml。添加ClickServlet,代码如下
  <servlet><servlet-name>click-servlet</servlet-name><servlet-class>org.apache.click.ClickServlet</servlet-class><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>click-servlet</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping
  目前Click只支持以.htm作为扩展后缀进行拦截。
  4、在web.xml同级目录下新建Click配置文件click.xml。如下:
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?><click-app charset="UTF-8"></click-app>
  这里目前先不用配置任何信息,在后续完善过程在进行配置。
  5、现在开始创建页面类。创建包example.click.hello.page,在该包下创建Java类HelloWorld.代码如下:
  package example.click.hello.page;import java.util.Date;import org.apache.click.Page;@SuppressWarnings("serial")public class HelloWorld extends Page {//声明一个私有的时间变量。private Date time = new Date();public HelloWorld() {addModel("time", time);//将该时间变量添加到页面模型map里}}
  6、创建页面helloWorld.htm,这里我们将helloWorld.htm直接放在webRoot下。代码如下:
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h1>HelloWorld--now time : $time</h1></body></html>
  $time 对应HelloWorld.java、addModel("time", time)中的time
  7、修改click.xml文件,确保helloWorld.htm能对应到类HelloWorld.java。在<click-app></click-app>中添加代码
  <click-app charset="UTF-8"><pages package="example.click.hello.page" /><mode value="debug" /></click-app>

  • <mode value="debug" />声明后台日志的模式是什么,这里设置为debug级别。
  • 除此之外还有development(开发模式info)、profile(规范输出模式info)、production(生产模式warn)、trace(跟踪模式)
  • pages有属性automapping默认为true该属性将决定是否自动映射除WEB-INF下所有page到相应的类。
  8、启动tomcat,在浏览器地址中输入http://localhost:8080/click-demo/helloWorld.htm即可看到效果。
  这里有几点值得注意的地方。

  • 如果仅在click.xml中声明包名让Click自己去定位(automapping="true")页面对应类,则需要注意页面名称跟类名之间的关系。

  • 对应规则为:
  • change-password.htm=>ChangePassword
    change_password.htm=>ChangePassword
    changePassword.htm=>ChangePassword
    ChangePassword.htm=>ChangePassword
  • customer.htm=>CustomerPage
    change-password.htm=>ChangePasswordPage
  • 除自动映射外可以强制配置<pages package="example.click.hello.page"><page path="helloWorld.htm" classname="HelloWorld"/></pages>


  • 如果我们将页面helloWorld.htm不直接放在webRoot下,而是放在page/helloWorld.htm下,那么要想让Click自己知道对应的类,则我们需要将click.xml文件修正为<pages package="example.click.hello"/>。以此类推如果是放在click/hello/page/hellWorld.htm下,则我们的click.xml文件只需要配置成<pages package="example"/>即可。如果不遵循该规则,则只能在click.xml配置文件中显示声明出来。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322987-1-1.html 上篇帖子: Apache Hive入门2 下篇帖子: apache先骨干项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表