居然可以这样(阿里开源java框架)阿里前端框架weex,还在用spring mvc吗,不如试试阿里开源框架webx(webx框架入门),loginaction.java,
1、快速搭建webx应用:在命令行中输入如下命令:(前提是安装了maven)详细参考webx官方文档:http://webx.github.io/
然后进入项目目录,输入mvn clean install命令,再输入mvn jetty:run命令即可运行。以上代码是使用jetty运行该项目。因为在pom文件中已经默认配置好了jetty,所以可以直接启动。jetty默认端口号是8081,启动好之后,可以在浏览器输入 localhost:8081 回车进入项目页面
2、接下来开始写代码,首先我们来写一个登录页面:
src/main/webapp/app1/templates/screen/login.vmlogin.vm代码解析
首先,webx页面使用velocity模板文件编写,所以,文件名以.vm为扩展名 然后就是一个from表单,form的action填写的内容为
$app1Link.setTarget("login")
其中app1Link是webx3的url broker服务,他会根据特定配置动态渲染url,他是代表项目的根目录,调用setTarget方法,将target设置为login,这段代码的意思是,如果表单验证没通过,该页面还会跳转到本页面,本页面的地址就是用login这个target跳转过来的。因为该页面的名字是login(这就是webx框架的约定大于配置原则) 接下来我们看隐藏域: 这个隐藏域的作用是,当页面通过表单验证之后,我们会跳转到隐藏域的value所指明的target。 这里配置的是一个action,那么pipeline会把执行转交到LoginAction类手中(原因也是遵循webx框架的约定大于配置原则)。具体执行哪个方法我们接下来会讲到,LoginAction做了哪些工作接下来也有写。#set($group=$
form.login.defaultInstance)这里相当于定义了一个变量。该变量是个表单验证实例, 接下来的if语句是控制是否输入错误信息的,仅当field验证通过时(即$group.field.valid=true),才显示错误信息。对于空白表单和通过验证的字段而言,$group.field.valid为true。
3、接着我们再创建两个类
第一个类是个实体类:
com.alibaba.webx.tutorial1.app1.Visitor.java这个类没什么好说的,就是一个javabean的实体类,主要用于表单元素的注入。
接着,我们开始写action类。
com.alibaba.webx.tutorial1.app1.module.action.LoginAction.java
LoginAction.java代码解析
该类只有一个方法,doCheck。首先当login.vm表单提交后,会执行本类的doCheck方法。
@FormGroup(“login”)Visitor visitor 这个注解是个牛逼的注解,他同时做了几件事,第一是表单验证,如果表单验证通过,则执行doCheck方法,如果不通过,不执行方法,然后,取得form和login group对象,并将group中的数据注入到Visitor对象中。 根据设置好的名字,name注入到name中,passwd注入到passwd中。
nav.redirectTo(“app1Link”).withTarget(“form/welcome”).withParameter(“name”,name); 这就是做页面跳转啦。。
4、然后我们还要修改WEB-INF/app1/form.xml,增加一下内容
这个表单验证就不仔细说了,应该可以看得懂,看不懂的看官方文档吧
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据