使用Eclipse来开发调试WebBuilder项目
下载,安装Groovy插件:
下载,安装Tomcat插件:
打开Eclipse,配置Tomcat插件,如下图所示:
新建一个Java Project项目
命名为WB8,然后在项目的右键菜单里,添加Groovy支持!如下图所示:
打开项目属性配置窗口
配置好Tomcat,如下图所示:
Extra information里输入JNDI数据源,例如:
name="jdbc/wb_mysql"
auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
validationQuery="select 1" testWhileIdle="true" testOnBorrow="false"
url="jdbc:mysql://127.0.0.1:3306/wb?autoReconnect=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8"
username="root" password="XXXXXX"
maxActive="20" maxIdle="10" maxWait="-1" />
复制WebBuilder应用目录
在项目的根目录下新建一个web目录,把压缩文件webbuilder.zip里的/wb目录下的所有东西复制到新建的web下,最后的目录结构如下图所示:
更新项目的Context
把WB8项目的context信息更新到Tomcat的tomcat8/conf/Catalina/localhost目录下,如下图所示:
文件wb.xml内容如:
name="jdbc/wb_mysql"
auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
validationQuery="select 1" testWhileIdle="true" testOnBorrow="false"
url="jdbc:mysql://127.0.0.1:3306/wb?autoReconnect=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8"
username="root" password="XXXXXX"
maxActive="20" maxIdle="10" maxWait="-1" />
增加Groovy支持
把groovy-all-X.X.X.jar复制到WEB-INF/lib/目录下
修改Java Build Path,把WEB-INF/lib目录下的所有jar文件添加到Libraries中!
如下图所示:
修改文件WEB-INF/web.xml,在行下面添加:
GroovyServlet
groovy.servlet.GroovyServlet
verbose
false
logGROOVY861
true
resource.name.regex
gdo$
resource.name.replacement
groovy
2
GroovyServlet
*.gdo
编写测试文件WEB-INF/groovy/test.groovy,(按照约定,WEB-INF/groovy是groovy文件的根目录!)
def builder = new groovy.json.JsonBuilder()
builder.people {
person {
firstName 'Guillame'
lastName 'Laforge'
// Named arguments are valid values for objects too
address(
city: 'Paris',
country: 'France',
zip: 12345,
)
married true
// a list of values
conferences 'JavaOne', '你好'
}
}
out << "一般输出:"+builder.toString()
out << "
\r\n格式化输出:"
out << builder.toPrettyString()
加上权限判断 用Wb.request方法或者url直接引用,然后在groovy里定义能访问的角色,以此来判断是否有执行权限!例如:
//xwl文件里
Wb.request({
url: 'test.gdo',
params: {
foo: 'abc',
bar: 123
},
success: function(response) {
app.textarea1.setValue(response.responseText);
Wb.info(response.responseText);
}
});
//groovy文件里
def needRoles=['default','admin']*.toUpperCase()
def currentRoles = com.wb.common.Session.getRoles(request).toList()*.toUpperCase()
//判断角色
//任一角色
if(!currentRoles.any { needRoles.contains(it) }) {
com.wb.util.SysUtil.accessDenied(request);
}
//或者 全部角色
if(!currentRoles.containsAll(needRoles)) {
com.wb.util.SysUtil.accessDenied(request);
}
修改Java Build Path,把groovy文件的根目录WEB-INF/groovy添加到Source中,这样就可以进行断点调试了!
如下图所示:
启动WebBuilder项目
如下图所示:
最后,打开浏览器
输入http://localhost:8080/wb/,进行开发,调试!