緇勪歡灞炴х粦瀹?/h1>
鎴戞墍鎺ヨЕ鍒扮殑鍩轟簬JSF鐨刉eb搴旂敤涓紝浣嶄簬UI鐣岄潰涓婄殑涓涓晫闈㈠厓绱犳垨緇勪歡錛屾兂瑕佹樉紺烘暟鎹紝閫氬父鐨勫啓娉曟槸榪欐牱錛?br />
greeting.xhtml
<h:inputText value="#{demo.helloduke.UserBean.name}"/>
demo.helloduke.UserBean.java:
@ManagedBean(name="demo.helloduke.UserBean", scope=ManagedBeanScope.SESSION)
public class UserBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
榪欐牱鐨勫啓娉曟剰鍛崇潃錛屽湪greeting.xhtml涓紝闇瑕佺煡閬揢serBean鐨勫瓨鍦紝騫朵笖闇瑕佺煡閬揢serBean鐨刵ame灞炴ф槸瀵瑰簲鐫榪欎釜inputText緇勪歡鐨剉alue銆傝繖鍦ㄥ緢澶х▼搴︿笂錛岄檺鍒朵簡greeting.xhtml鐨勪綔鐢ㄨ寖鍥達紝浣胯繖涓猆I瀹屽叏娌℃湁鏈轟細琚噸鐢ㄣ傚緢闀夸竴孌墊椂闂達紝榪欓兘鏄洶鐓х潃鎴戠殑涓涓棶棰樸?br />
Binding鏄疘oVC鍖呭惈鐨勪竴涓噸瑕佺壒鎬э紝瀹冧笉浠呭彲浠ヤ嬌UI鐙珛鍑烘潵錛岃屼笖Binding鏄噰鐢ㄥ悗鏈熺粦瀹氭ā寮忓疄鐜幫紝涓虹粍浠剁殑鏃犵姸鎬佺殑瀹炵幇鎻愪緵浜嗗簳灞傚熀紜鏀拺銆傚叧浜嶪oVC鐨勫疄鐜版柟寮忥紝鍦ㄨ繖綃囬殢絎斾腑騫朵笉榪囧璁ㄨ銆?br />
鍦↖oVC鐨勭紪紼嬫ā寮忎笅錛屽UI涓婄殑鐣岄潰鍏冪礌鐨勬帶鍒跺姏琚漿縐誨埌浜哅anagedBean涓紝UI涓嶉渶瑕佸叧蹇冭皝鍦ㄤ嬌鐢ㄥ畠錛屼互鍙婃暟鎹殑鏉ユ簮銆?br />
IoVC妯″紡鐨凥ello Duke鐨刄I鍙妋anagedBean:
greeting.xhtml
<h:inputText id="name"/>
demo.helloduke.UserBean.java:
@ManagedBean(name="demo.helloduke.UserBean", scope=ManagedBeanScope.SESSION)
public class UserBean {
@Bind
private String name;
}
@Bind鏍囩錛屾彁渚涗簡灝哅anagedBean鐨刦iled緇戝畾鍒扮粍浠剁殑attributes涓殑鑳藉姏錛岄粯璁ゆ儏鍐典笅錛孈Bind鏍規嵁鎵浣滅敤鐨刦iled鐨刵ame鏉ュ尮閰峌I涓殑鍏冪礌鐨刬d錛岀劧鍚庡皢field鐨勫煎彇鍑虹粦瀹氬埌瀵瑰簲鐨刄I涓殑緇勪歡涓婏紝涓婅堪浠g爜琛ㄧず錛屽皢UserBean涓殑name灞炴э紝緇戝畾鍒頒笌涔嬪搴旂殑inputText緇勪歡鐨剉alue涓?br />
涓嬮潰鍒楀嚭浜咢Bind鏍囩鐨勫吀鍨嬩嬌鐢ㄥ満鏅細
@Bind
private UIDataGrid grid;
@Bind(id="grid", attribute="width")
private int width;
@Bind(id="grid", attribute="height")
private int height;
public void initGrid() {
this.width = 500;
this.height = 400;
}
public void reload() {
this.grid.reload();
}
浣跨敤@Bind鏍囩灝嗙粍浠剁殑attributes涓嶮anagedBean涓殑灞炴т竴涓緇戝畾璧鋒潵涔嬪悗錛屽湪UI涓婂鏋滅粍浠跺彂鐢熷彉鍖栵紝鍏跺彉鍖栦簡鐨勫睘鎬т細鍙嶆槧鍒癕anagedBean涓紝鍚屾牱錛屽湪ManagedBean涓紝濡傛灉鏇存敼浜嗗睘鎬у鹼紝UI緇勪歡涔熶細鍙戠敓鐩稿簲鐨勫彉鍖栥?br />
涓涓嬌鐢↖oVC妯″紡鐨勫畬鏁撮〉闈笌ManagedBean錛堝叾涓秹鍙婂埌鐨勫叾浠栨爣絳撅紝浼氬湪鍚庨潰浠嬬粛鍒幫級錛?br />
榪愯鏁堟灉錛?br />

calc.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<f:view xmlns:f="http://java.sun.com/jsf/core"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:w="http://www.apusic.com/jsf/widget"
renderKitId="AJAX">
<w:page title="View Binding Example">
<h:form>
<h:panelGrid columns="1">
<h:inputText id="first"/>
<h:inputText id="second"/>
<h:outputText id="result"/>
</h:panelGrid>
<h:commandButton value="+" id="add"/>
<h:commandButton value="-" id="subtract"/>
<h:commandButton value="*" id="multiply"/>
<h:commandButton value="/" id="divide"/>
</h:form>
<h:messages/>
</w:page>
</f:view>
CalcBean.java:
@ManagedBean(scope=ManagedBeanScope.SESSION)
public class CalcBean
{
@Bind
private double first = 10;
@Bind
private double second = 20;
@Bind
private double result;
@Bind(id="result", attribute="style")
private String style;
@Action
public void add() {
result = first + second;
style = "color:red";
}
@Action
public void subtract() {
result = first - second;
style = "color:green";
}
@Action
public void multiply() {
result = first * second;
style = "color:blue";
}
@Action
public void divide() {
result = first / second;
style = "color:black";
}
}

]]>