ZCF允许在项目实施时对产品自带的zhtml页面进行织入,这样可以在不修改产品页面文件的情况下改变页面的展现方式和Javascript逻辑。
Zhtml织入需要写一个Zhtml织入器类继承自IZhtmlWeaver,在这个类里声明织入的目标文件,并在weave方法中通过ZhtmlWeaveHelper来操作源代码。最后还需要将之个织入器注册到扩展服务com.zving.framework.ui.weaver.ZhtmlWeaveService。
织入器代码类似于:
package com.zving.advertise.ui; import com.zving.framework.ui.weaver.IZhtmlWeaver; import com.zving.framework.ui.weaver.ZhtmlWeaveHelper; import com.zving.framework.ui.weaver.ZhtmlWeavePosition; /** * 织入代码到登陆页面 */ public class LoginWeaver implements IZhtmlWeaver { @Override public String getExtendItemID() { return "com.zving.advertise.ui.LoginWeaver"; } @Override public String getExtendItemName() { return "登录页面织入器"; } @Override public String getTarget() { return "login.zhtml"; } @Override public void weave(ZhtmlWeaveHelper w) { // 在head标签结束之前插入代码 w.insertCode(ZhtmlWeavePosition.BeforeHeadEnd, "<script>alert(1);</script>"); // 在294行插入代码 w.insertCode(297, "<script>alert(2);</script>"); // 包含一个文件到指定位置 w.includeFile(298, "weaver.zhtml"); } }
匿名评论 所有评论仅代表网友意见
王工
陈工
扫一扫关注
所有评论仅代表网友意见