Board logo

标题: 后来添加的 Ajax 复合组件(3) [打印本页]

作者: look_w    时间: 2018-9-20 19:02     标题: 后来添加的 Ajax 复合组件(3)

实现图标复合组件图标有 3 个需求:
在清单 4 中,我满足了前两个需求:
清单 4. <util:icon> 复合组件,版本 1 (/resources/util/icon.xhtml)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:composite="http://java.sun.com/jsf/composite">
     
    <composite:interface>
      <composite:attribute    name="image" required="true"/>
      <composite:actionSource name="link"  targets="#{cc.clientId}:iconForm:link"/>
    </composite:interface>

    <composite:implementation>
      <div id="#{cc.clientId}">
         <h:form id="iconForm">
            <h:commandLink id="link" immediate="true">
              <h:graphicImage value="#{cc.attrs.image}"/>
            </h:commandLink>
         </h:form>
       </div>
    </composite:implementation>   
</html>




中的图标组件声明一个 image 属性和一个名为 link 的 actionSource。该 actionSource 在  中用作 <f:actionListener> 的 for 属性的值。如果还不太明白,您可以查看 “” 了解动作源如何处理复合组件,其中简短讨论了一个与  中类似的图标实现。
中的图标组件实现允许页面作者配置图标的外观和行为,但不允许作者将 Ajax 行为附加到组件。完成实现之后,如果用户单击一个图像,JSF 会提交整个页面,在收到返回值时完全重新绘制该页面。
现在您将看到如何让页面作者将 Ajax 添加到图标组件。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0