有三种方式:
(1)
页面中:
<h:selectManyMenu value="#{parameterList.categoryIds}">
<s:selectItems value="#{siteList.resultList}" var="category" label="#{category.name}"/>
</h:selectManyMenu>
解释:#{siteList.resultList}是个查询出来的集合。label="#{category.name}"实际显示出name来,
用value="#{parameterList.categoryIds}"来获取直实际上是个一条一条的记录,然后从而可以获取到它对应的ID直。
但是这中方式只能使用与seam自己产生出来的siteList.java中。因为那个页面中可以直接用#{siteList.resultList},所以那样写很好。
如果用这个标签的话:s:selectItems来做选项的话,里面value="#{siteList.属性}",如果用属性的话,这个属性的类型必须是SelectItem,要这样定一private List<SelectItem> cities;
(2)
页面中:
<h:selectManyMenu style="height:100;" value="#{selectManyMenuBean.selCities}">
<f:selectItems value="#{selectManyMenuBean.cities}" />
</h:selectManyMenu>
类中:
public class SelectManyMenuBean {
private List<String> languages;
private List<SelectItem> cities;
private List<String> selCities;
public SelectManyMenuBean() {
cities = new ArrayList<SelectItem>();
cities.add(new SelectItem("Chennai"));
cities.add(new SelectItem("Bangalore"));
cities.add(new SelectItem("Pune"));
cities.add(new SelectItem("Delhi"));
cities.add(new SelectItem("Mumbai"));
}
public List<SelectItem> getCities() {
return cities;
}
public void setCities(List<SelectItem> cities) {
this.cities = cities;
}
public List<String> getSelCities() {
return selCities;
}
public void setSelCities(List<String> selCities) {
this.selCities = selCities;
}
解释:cities是个selectManyMenuBean类的属性
(3)
<h:selectManyMenu style="height:100;" value="#{selectManyMenuBean.languages}">
<f:selectItem itemLabel="Java" itemValue="Java" />
<f:selectItem itemLabel="C" itemValue="C"/>
<f:selectItem itemLabel="C++" itemValue="C++"/>
</h:selectManyMenu>
(4)
<ui:define name="label">Select Sites</ui:define>
<h:selectManyMenu value="#{newscreate.chosesites}" style="width:115px;height:80px;">
<c:forEach items="#{newscreate.siteResults}" var="site">
<f:selectItem itemValue="#{site.id}" itemLabel="#{site.name}"></f:selectItem>
</c:forEach>
</h:selectManyMenu>
类中:
private List<Long> chosesites;
private List<Site> siteResults;
public List<Site> getSiteResults() {
// siteResults = new ArrayList<Site>();
Long userid = user2.getId();
siteList.setEjbql("select s from UserSite userSite,Site s where userSite.siteId=s.id and userSite.userId = "+userid);
if(siteList.getResultCount()>0){
return siteList.getResultList();
}else{
return null;
}
}
public void setSiteResults(List<Site> siteResults) {
this.siteResults = siteResults;
}
public List<Long> getChosesites() {
return chosesites;
}
public void setChosesites(List<Long> chosesites) {
this.chosesites = chosesites;
}
分享到:
相关推荐
* **实现方式**: 在`faces-config.xml`文件中定义导航规则。 ##### 3.4 实现业务逻辑并准备结果页面 * **逻辑处理**: 在JavaBean中实现复杂的业务逻辑。 * **页面准备**: 配置导航规则,确保用户能够正确到达结果...
在JavaScript Server Faces (JSF) 中,控件是构建用户界面的关键组成部分,它们允许开发者创建交互式的Web应用程序。...在实际项目中,通常会结合使用JSF的内置控件以及第三方库的组件,以实现更丰富的用户交互体验。
MVC(Model-View-Controller)模式是一种常见的软件架构模式,它将应用程序划分为三个核心组成部分: - **模型(Model)**:负责存储数据和业务逻辑。 - **视图(View)**:展示数据,通常是用户界面。 - **控制器...
JSF(JavaServer Faces)是一种用于构建Web应用程序的Java技术,它提供了一种声明式的方式来进行用户界面设计和事件处理。在JSF中,事件处理是核心功能之一,允许开发者响应用户的交互行为。本篇文章将深入探讨JSF的...
JSF提供了各种UI组件,如`h:inputText`用于文本输入,`h:selectOneMenu`或`h:selectManyMenu`用于下拉选择,以及`h:commandButton`用于提交操作。 2. **CSS**:为了使界面美观,通常会使用CSS(Cascading Style ...
在JSF中,`<h:selectOneMenu>`和`<h:selectManyMenu>`标签分别用于创建单选和多选下拉列表。这些标签允许开发者绑定数据模型到选项,以及处理用户的选中操作。例如: ```html ``` 在这个例子中,`#{bean....
它可以被子类继承以实现特定的数据源,例如从数据库获取数据。 总结而言,JSF标签库提供了一整套丰富的组件,涵盖了Web应用开发中的各个方面。通过这些组件,开发者可以快速构建出功能强大且用户友好的Web应用程序...
除了上述特定功能的标签外,JSF还为所有标签提供了一系列通用属性,这些属性有助于更好地控制标签的行为。 - **id**: 为组件指定一个唯一的标识符,可用于其他组件的引用。 - **binding**: 绑定到UIComponent。 - *...