jsf2 selectonemenu提交没有bean的值

时间:2014-03-21 15:12:43

标签: jsf-2 selectonemenu commandlink

我知道在没有托管bean的情况下进行此项工作可能不是最好的做法......但我想让它以这种方式工作:)

<h:selectOneMenu id="SelectMenu}">        
<f:selectItem itemValue="1" itemLabel="A"/>        
<f:selectItem itemValue="2" itemLabel="B"/>        
<f:selectItem itemValue="3" itemLabel="C"/>  
</h:selectOneMenu>

<h:commandLink value="click" action='#{someController.action(SelectMenu.itemValue)}' />

我想ajax可能会有所帮助,但我从未使用过它。

非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

直接将<h:selectOneMenu />值绑定到视图:

<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:ui="http://java.sun.com/jsf/facelets">

<h:form>
    <h:selectOneMenu value="#{selected}">
        <f:selectItem itemValue="1" itemLabel="A" />
        <f:selectItem itemValue="2" itemLabel="B" />
        <f:selectItem itemValue="3" itemLabel="C" />
    </h:selectOneMenu>

    <h:commandLink value="click" action='#{myBean.action(selected)}' />
</h:form>

</html>
@ManagedBean
@RequestScoped
public class MyBean {

    public void action(String selectedValue) {
        System.out.println("Selected " + selectedValue);
    }

}