访问路径和约定
/b/page-ms-test/hello 对应的是webapp下的page/ms/test/hello.html 文件 后端使用的html这么写: 后端使用的beetl html文件要放到 /page/ms 下面或者其子路径下面,此部分的页面必须登录后才可访问.比如:https://gitee.com/fhs-opensource/fhs-framework/tree/v2.x/fhs_module/fhs_basics/fhs_basics_web/src/main/webapp/page/ms/basics 给微信公众号/支付宝生活号中的html放到 /page/h5/目录下,如果文件以 _u 结尾代表访问这个文件需要C端用户登录.
内置变量
系统中path.properties和other.properties中的配置都可直接使用${basePath}这样去取. 参数使用 ${parameter.xx} 去取.其他的参考beetl的使用文档.
JS CSS 引入
<head>
<%
layout("/page/tags/js_css_include.html",{up:true}){}
%>
</head>
上面这段代码up:true 代表需要引入上传组件,其他组件如何引用见源码: https://gitee.com/fhs-opensource/fhs-framework/blob/v2.x/fhs_module/fhs_module_base/src/main/webapp/page/tags/js_css_include.html
表单页公共代码引入
FHS 是通过dialog来展示表单的,所以表单页不需要单独引入js和css,列表页已经引入了.我们同一个表单代码支持详情页,添加页和编辑页三种模式.表单页头部应该引入以下代码.
<%
include("/page/tags/form_include.html"){}
%>
body后面应该引入以下代码,其中namespace 要和控制器的RequestMapping 对上,比如后台是/ms/sysUser下面也就写sysUser
<%
layout("/page/tags/add_update_tag.html",{'nameSpace':'sysUser','idField':'userId'}){}
%>
如果后台控制器继承了ModelSuperController 没自己写代码,引入 了此处就不需要干别的了,就搞定了,不需要写js,如果自己想搞点别的特殊业务.可以参考以下地址: https://gitee.com/fhs-opensource/fhs-framework/blob/v2.x/fhs_module/fhs_basics/fhs_basics_web/src/main/webapp/page/ms/basics/sysuser/sys_user_add_update.html
一个简单的表单页demo:
<%
include("/page/tags/form_include.html"){}
%>
<form id="addUpdateForm" method="post">
<#HideFormTag name='parentId' title='父节点id' value='${parameter.parentId}' required='true' />
<div class="fitem">
<#InputFormTag name='name' title='机构名称' required='true' />
<#WordBookFormTag name='isEnable' title='状态' code='is_enable' required='true' />
</div>
<%
layout("/page/tags/add_update_tag.html",{'nameSpace':'sysOrganization','idField':'id'}){}
%>
<script type="text/javascript">
function initHandler(){
url_save = "${basePath}ms/sysOrganization/insertOrganization";
}
</script>
</form>
shiro权限标签
<#shiro name="sysUser:add">
<a href="javascript:void(0)" class="easyui-linkbutton" plain="true" iconCls="icon-add" onclick="addUser()">添加</a>
</#shiro>
其他标签
参考专门的标签章节