Mashups4JSF 简介:使 Mashups 更加简单
2010-08-11 00:00:00 来源:WEB开发网清单 7 显示了地区 bean 代码,包括简单的 getter 和 setter 方法及 setSelectedPlace 操作。
清单 7. 地区 bean 代码(Place.java)
public class Place {
String shortAddressName;
String longAddressName;
String postalCode;
// Some setters and getters here ...
public String setSelectedPlace() {
FacesContext.getCurrentInstance().getExternalContext().
getRequestMap().put("selectedPlace", this);
return null;
}
}
Places mashup 应用程序(JSF 2.0 版本)
Mashups4JSF 可以与 JSF 2 实现(Mojarra V2.0 和 Apache MyFaces V2.0)完美结合使用。Places 应用程序具有一个 JSF 2.0 版本。JSF 2.0 版本与 JWL 版本之间的主要区别在于 Ajax 处理方式。多亏有了 JSF 2,Ajax 处理成为 <hx:behavior/> 规范和功能的一部分,且 <hx:ajaxRefreshxxx/> 标记现在可以通过 <f:ajax/> 标记实现。清单 8 展示了 JSF 2.0 Ajax 中的 index.xhtml (Places 应用程序页面)代码。
清单 8. Places 应用程序 XHTML 页面(index.xhtml)
<h:dataTable value="#{places.data}"
var="place"
...>
<!--Columns Here-->
<h:column>
<f:facet name="header">
<h:outputText value="Action" />
</f:facet>
<h:commandButton id="cmdRetrieve"
value="Retrieve Information"
action="#{place.setSelectedPlace}">
<f:ajax render=":form1:placeMap :form1:placeWeather"/>
</h:commandExButton>
</h:column>
</h:dataTable>
<h:panelGrid columns="2" id="placeInformation">
<h:panelGroup id="placeMap">
<m:map width="400px" height="300px"
renderOnWindowLoad="false"
rendered="#{selectedPlace ne null}"
address="#{selectedPlace.longAddressName}"
zoom="9">
<m:marker/>
<m:htmlInformationWindow
htmlText="#{selectedPlace.longAddressName}"/>
</m:map>
</h:panelGroup>
<h:panelGroup id="placeWeather">
<mashup:yahooWeather locationCode="#{selectedPlace.postalCode}"
rendered="#{selectedPlace ne null}"
temperatureType="c"/>
</h:panelGroup>
</h:panelGrid>
Tags:MashupsJSF 简介 Mashups
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接