1、web.xml
<servlet-mapping>
<servlet-name>easyjf</servlet-name>
<url-pattern>/ejf/*</url-pattern>
</servlet-mapping>
除*.ejf外的另一种url形式,demo.ejf?cmd=list&name=lzz等价于/ejf/demo/list/name=lzz,
这种形式的url主要用于Ajax请求,使用Ajax是必须在web.xml中配置
<context-param>
<param-name>easyjwebConfigLocation</param-name>
<param-value>/WEB-INF/easyjf-web1.xml,/WEB-INF/easyjf-web2.xml</param-value>
</context-param>
easjweb的默认配置文件是/WEB-INF/easyjf-web.xml,可以修改配置文件路径,如上示,多个文件用','隔开
2、easyjf-web.xml
配置文件根元素easyjf-web下元素有<framework-setting> <modules> <beans> <pages> <forms> <ajax> <import>下面分别介绍:
<framework-setting>
<template-base></template-base> <!--模板根目录-->
<init-app> <!--框架初始化程序 -->
<app-class init-method="" destory-method="">class</app-class>
...
</init-app>
<interceptors> <!--全局拦截器 -->
<app-class name="" method="">class</app-class>
...
</interceptors>
<error-handler> <!--错误处理信息 -->
<app-class exception="" path="">class</app-class>
...
</error-handler>
<property name=""></property> <!--全局属性 -->
...
</framework-setting>
...表示允许多个;
template-base模板根目录,默认路径为WEB-INF\views;
init-app初始程序,在服务启动时执行;interceptors全局拦截器,在处理请求过程中,执行Action的execute前依次执行。
error-handler错误处理,
property全局属性设置:
TemplateBasePath: 模版根目录路径;
com.easyjweb.debug: 是否调试模式;
com.easyjweb.maxUploadFileSize: 文件最大上传值(*1024);
com.easyjweb.uploadSizeThreshold:上传文件缓存大小;
com.easyjweb.maxDirectJumpToActionTimes:最大直接跳转Action次数;
com.easyjweb.permissionVerify:是否自动检查权限;
com.easyjweb.messageResourceLoader:设置全局变量Globals.LOAD_MESSAGE_RESOURCE_FROM_PATH的值为true,这样即可从类加载器加载消息资源,可以提高性能,适合在产品发布的时使用
com.easyjweb.language:设置全局变量Globals.Language的值为指定的语言,这样就可以使得EasyJWeb后台输出指定语言的日志;
com.easyjweb.propertiesType:设置资源文件的默认格式;
com.easyjweb.defaultActionPackages:系统中配置需要扫描的包,多个包用','隔开
<modules inject=""> <module name="" action="" path="" form="" autoToken="" alias="" defaultPage="" scope="" inject="" views="" validate="" messageResource=""> <page name="" type="" url="" contentType="" /> ... <property ..> ... <interceptor class="" /> ... </module> ... </modules>modules的inject默认为none,也可配置bytype,byname,可作为modules内模块的inject属性。
module表示一个模块,action为模块对应的IWebAction,path为请求时路径,如"/demo";alias为模块别名,defaultPage为默认页面,若没有配置,则设第一个page为默认;scope模块的适用 范围,默认为none;inject为属性注入方式,未配置则继承modules的inject属性;views模板视图基础路径,利用module.findPage时则在模板根目录/module.getViews()/下寻找;validate是否执行验证;messageResource配置模板的国际化资源。
page表示模板下的一个页面,可通过module.findPage得到,type有6种:
property表示module的属性注入,具体下面介绍。
<beans>
<bean name="" class="" scope="" factory-method="" inject="">
<property ..>
...
<constructor-arg type="" index="">
<property ..>
</constructor-arg>
...
</bean>
...
</beans>
factory-method为bean初始化无参方法,scope默认为singleton,inject默认为bytype;
<forms>
<form alertType="" bean="" clientValidate="" name="" serverValidate="" event="">
<property name="" initial="" notNull="" size="" type="" event="" />
...
</form>
...
</forms>
<pages>
<page name="" type="" url="" contentType="">
...
</pages>
<ajax>
<json-max-depth>depth</json-max-depth>
<services allowName="" denyNames="">
<service name="" include="" exclude="">
<include method="" />
...
<exclude method="">
...
</service>
...
</services>
<convert name="">
<include property="" />
...
<exclude property="" />
...
</convert>
...
<signatures>
多个签名用';'隔开
</signatures>
</ajax>
<import resource=" " /> ...
<property name="" value="" ref="">
<value></value>
<ref value="">
<value></value>
</ref>
<list>
<value></value>
...
</list>
<bean name="" class="" />
</property>