HD框架踩坑总结---第1篇

页面标签详解

1. 循环遍历标签

循环遍历标签在HD系统内也称之为迭代标签, <common:iterater name=" ${list}" id="item"></common:iterater>iterater意为迭代器,相当于vue中v-for

  1. ${list}:要遍历的数组,此处为hd系统要展示在页面的JSONArray数据。
  2. item:是数组中的每一项数据(JSONObject),页面渲染数据时,使用 ${item.key},来访问key所对应的value
  3. 示例代码:
 <common:iterate name="ryList" id="item">
    <tr>
        <td>
            <common:write value="${item.xm}"/>
        </td>
        <td>
            <codebook:translate name="wd.xb" value="${item.xbm}"/>
        </td>
        <td>
            <common:write value="${item.csrq}" format="yyyy-MM-dd" miniDate="false"/>
        </td>
        <td>
            <codebook:translate name="env.bm" value="${item.bmid}"/>
        </td>
        <td>
            <codebook:translate name="env.gw" value="${item.gwid}"/>
        </td>
        <td>
            <codebook:translate name="env.rylb" value="${item.rylbm}"/>
        </td>
        <td>
</common:iterate>

2. 文本输出标签

<common:write value=" ${value}">,用于直接将HD系统存放的数据显示出来。

  1. 示例代码:
<common:write value="${item.sfybd==1?'':''}" /><common> <!--可使用三元运算符-->

3. 日期格式处理标签

使用文本输出标签,添加format属性,就可以在页面中输出日期(format所规定的的格式)

  1. 直接输出日期格式
 <common:write value="${item.csrq}" format="yyyy-MM-dd" miniDate="false" />
  1. 选择固定的日期输出格式
<input type='text' id="rxnd" name='rxnd' style="width:50px;" onClick="wd.edit.datePicker({dateFmt:'yyyy',minDate:'%y',maxDate:'%y'})" value="${rxnd}"/>
<!--
dateFmt 输出的日期格式  可yyyy,yyyy-mm-dd ,yyyy-mm-dd HH24:mm:ss
minDate 最小日期    maxDate  最大日期
记住这个格式,在datePicker中小时只能用大写,用小写是会报错的。
-->

4. 码本查询标签(查询码本回显对应的内容)

  1. 直接文本显示码本
<codebook:translate name="env.rylb" value="${item.rylbm}" /></codebook:translate>
<!--
	 name属性:码本对应的服务地址
	 value属性:查询码本时所对应的key
-->
  1. 下拉框选择码本
<select id="bjid" name="bjid" value="bjid">
     <option value="">请选择</option>
     <codebook:option name="env.bj" defaultValue="${bjid}"/>
</select>
<!--
	在码本基础上新增option属性: 用于将码本中查询到的数据,渲染致下列选项里
	defaultValue属性:默认选中的下拉项
-->
  1. 级联选择码本:
<input type="hidden" name="xyzybj" value="${empty bmid?zyid:bmid}">
<select style="width:120px;" id="bmid" name="bmid" value="${bmid}" defaultValue="${bmid}">
    <option value="">请选择</option>
</select>
专业
<select style="width:120px;" id="zyid" name="zyid" value="${zyid}">
    <option value="">请选择</option>
</select>
班级
<select style="width:120px;" id="bjid" name="bjid" value="${bjid}">
    <option value="">请选择</option>
</select>
<cascadingSelect:write value="env.xy_zy_bj2" filter='{yhid:"${sessionScope["wd.yh"].yhId}"}'/>

5. 判断标签(根据判断条件决定要显示的内容)

<common:equal leftValue="${sfylk==2}" rightValue="true">
   <script>
        window.location.href="@service{dest:"env.sys.sys_alert",param:{msg:"您未分班"}}@"
   </script>
</common:equal>
/*
	leftValue:判断条件
	   ${ not  empty tablehtml} 判断后端传值是否为空
	rightValue:显示当前标签
	说明:此为关闭和刷新页面代码
	<input type="button" name="button" οnclick="wd.display.refreshOpener();wd.display.closeDialog();" value="取消" class="bottom-button">  
	wd.display.refreshOpener(); // 刷新页面
	wd.display.closeDialog(); // 关闭页面

*/

6. 权限控制标签

<validation:permission value="ry.ry_zj">
           <input type="button" class="search-button" name="ry_zj" onclick='@service{dest:"ry.ry_zj",show:"wdDialog"}@' value="增加" />
</validation:permission>

<!--
	被validation:permission包裹的元素,会根据vlue的值判断是否显示被包裹的元素
-->

7.校验标签

页面上需要的,写在form表单之内之外均可 :<validation:write name=“zy_zj” />
代码:validation.xml文件

身份证校验:
<defination name="sfzh" validator="env.idCard" scope="browser"
		type="error">
		<param field="sfzh"/>
		<!-- <param field="csrq" />
		<param field="xbm" />
		<param field="sfzjlbm" /> -->

		<param name="msgPrefix" value="" />
		<!--身份证号-->
		<param name="sfzhNotNull" value="true" />
		<!--出生年月-->
		<!--<param name="csrqNotNull" value="false" />-->
		<!--性别-->
		<param name="xbNotNull" value="true" />
	</defination>
 <validation name="gzjd_zj_bc" service="gzjd_zj_bc"><!-- 校验器名称人员_增加_保存 -->
		<check validator="wd.notNull" scope="browser" type="error">
			<!-- validator="wd.notNull"为校验器类别,这里是非空校验 scope="browser"这个是指前台校验 type="error"表示校验等级为错误等级,错误等级则不能提交表单-->
			<param field="mc" /><!-- 校验器查找的表单name值 -->
			<param name="msgPrefix" value="名称" /><!-- 消息前缀:“姓名不能为空”(非空校验) -->
			<param name="maxLength" value="100" /><!-- 最大长度 -->
			<param name="trim" value="true" /><!-- 去掉前后空格 -->
		</check>
	</validation>

8.其他

  1. 保存成功后跳转到第二页
 <input type="submit" value="保存" name="pjjh_save" class="bottom-button" onclick="@service{name:'pjjh_save',dest:'pjjh_xg',tabNo:'2',submit:true,param:{pjjhid:'${pjjhid}'}}@" />
 <!--
	tabNo:跳转属性
-->
  1. 页面上的时间格式,不管是什么,只要使用了系统的标签,均可使用format格式,miniDate=“false” 说明当前年度的格式也正常显示,否则当前年度不显示。
后盾网HDPHP框架是一个为用PHP程序语言编写网络应用程序的人员提供的软件包。提供强大的、完整的类库包,满足开发中的项目需求,可以将需要完成的任务代码量最小化,大大提高项目开发效率与质量。高效的核心编译处理机制让系统运行更快。做为优秀的框架产品,在系统性能上做的大量的优化处理,只为让程序员使用HDPHP框架强悍的功能同时,用最短的时间完成项目的开发。后盾网HDPHP框架 2014.12 更新日志:1.修复加载标签失败问题2.移除所有扩展插件如ueditor,采用扩展形式安装3.优化模型触发器4.优化ViewModel模型特点:* 全面的WEB开发特性支持* HDPHP是否完全免费的,你不用担心任何版权问题* 提供多项优化策略,速度非常快* 采用 MVC 设计模式* URL全站路由控制* 支持Memcached、Redis等NoSql* 高效的HDView模板引擎* 拥有全范围的类库* 通过自定义类库、辅助函数来实现框架的扩展* JS前端自动验证* PHP自动验证、自动完成、字段映射、表单令牌* 高级扩展模型* 全站缓存控制* 中文分词* 商城购物车处理* RBAC角色控制* 完整的错误处理机制* 集成前端常用库(编辑器、文件上传、图片缩放等等)* 对象关系映射(ORM)* 与后盾网hdjs完美整合安全性:框架在系统层面提供了众多的安全特性,确保你的网站和产品安全无忧。这些特性包括:* COOKIE加密处理* 数据预处理机制* XSS安全防护* 表单自动验证* 强制数据类型转换* 输入数据过滤* 表单令牌验证* 防SQL注入* 图像上传检测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值