`

selectManyMenu有三种实现方式

阅读更多
有三种方式:
(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;
	}



 

分享到:
评论

相关推荐

    jsf-jumpstarter.pdf

    * **实现方式**: 在`faces-config.xml`文件中定义导航规则。 ##### 3.4 实现业务逻辑并准备结果页面 * **逻辑处理**: 在JavaBean中实现复杂的业务逻辑。 * **页面准备**: 配置导航规则,确保用户能够正确到达结果...

    jsf常用控件的使用

    在JavaScript Server Faces (JSF) 中,控件是构建用户界面的关键组成部分,它们允许开发者创建交互式的Web应用程序。...在实际项目中,通常会结合使用JSF的内置控件以及第三方库的组件,以实现更丰富的用户交互体验。

    基于JSF架构的WEB应用开发研究

    MVC(Model-View-Controller)模式是一种常见的软件架构模式,它将应用程序划分为三个核心组成部分: - **模型(Model)**:负责存储数据和业务逻辑。 - **视图(View)**:展示数据,通常是用户界面。 - **控制器...

    jsf例子\监听器 例子

    JSF(JavaServer Faces)是一种用于构建Web应用程序的Java技术,它提供了一种声明式的方式来进行用户界面设计和事件处理。在JSF中,事件处理是核心功能之一,允许开发者响应用户的交互行为。本篇文章将深入探讨JSF的...

    jsf订单界面

    JSF提供了各种UI组件,如`h:inputText`用于文本输入,`h:selectOneMenu`或`h:selectManyMenu`用于下拉选择,以及`h:commandButton`用于提交操作。 2. **CSS**:为了使界面美观,通常会使用CSS(Cascading Style ...

    jsf实用代码

    在JSF中,`&lt;h:selectOneMenu&gt;`和`&lt;h:selectManyMenu&gt;`标签分别用于创建单选和多选下拉列表。这些标签允许开发者绑定数据模型到选项,以及处理用户的选中操作。例如: ```html ``` 在这个例子中,`#{bean....

    《JSF标签》简体中文版.pdf

    它可以被子类继承以实现特定的数据源,例如从数据库获取数据。 总结而言,JSF标签库提供了一整套丰富的组件,涵盖了Web应用开发中的各个方面。通过这些组件,开发者可以快速构建出功能强大且用户友好的Web应用程序...

    学习技术 jsf必备 ————JSF标签.pdf

    除了上述特定功能的标签外,JSF还为所有标签提供了一系列通用属性,这些属性有助于更好地控制标签的行为。 - **id**: 为组件指定一个唯一的标识符,可用于其他组件的引用。 - **binding**: 绑定到UIComponent。 - *...

Global site tag (gtag.js) - Google Analytics