当前位置: 首页 > 知识库问答 >
问题:

当jsf中的另一个菜单更改时,如何更新selectOneMenu

夔波
2023-03-14

我知道这是查询已经在这里回答但我不知道为什么我的代码没有工作

我有两个列表,当第一个列表改变时,其他列表会更新,这是我的代码

<h:selectOneMenu id="e4" styleClass="col-md-5" value="#{categoryModel.selectedMenu}">
    <f:selectItem />
    <f:selectItems value="#{categoryModel.catFinanceVect}" var="catFinance"itemLabel="#{catFinance.designation}" itemValue="#{catFinance.ligne}" />
    <!--  <a4j:ajax event="valueChange" render="e3" execute="@this" />-->
    <f:ajax event="valueChange" execute="@this" render="e3" listener="#{categoryModel.getCatItList}"/>
</h:selectOneMenu>
<div class="col-md-1"></div>
<h:selectOneMenu id="e3" styleClass="col-md-6">
    <f:selectItem />
    <f:selectItems value="#{categoryModel.catItVect}" var="catIt"itemLabel="#{catIt.designation}" itemValue="#{catIt.designation}" />
</h:selectOneMenu>

这是我的后盾:

@ManagedBean
@SessionScoped
public class CategoryModel {


    private CatFinance catFinance= new CatFinance();
    private Vector<CatFinance> catFinanceVect = new Vector<CatFinance>();
    private CatIt catIt= new CatIt();
    private Vector<CatIt> catItVect = new Vector<CatIt>();
    private Integer selectedMenu;



    public CategoryModel() {
        super();
        // TODO Auto-generated constructor stub
    }


    public CatFinance getCatFinance() {
        return catFinance;
    }


    public void setCatFinance(CatFinance catFinance) {
        this.catFinance = catFinance;
    }


    public Vector<CatFinance> getCatFinanceVect() {
        return catFinanceVect;
    }


    public void setCatFinanceVect(Vector<CatFinance> catFinanceVect) {
        this.catFinanceVect = catFinanceVect;
    }

public CatIt getCatIt() {
        return catIt;
    }


    public void setCatIt(CatIt catIt) {
        this.catIt = catIt;
    }


    public Vector<CatIt> getCatItVect() {
        return catItVect;
    }


    public void setCatItVect(Vector<CatIt> catItVect) {
        this.catItVect = catItVect;
    }



public Integer getSelectedMenu() {
        return selectedMenu;
    }


    public void setSelectedMenu(Integer selectedMenu) {
        this.selectedMenu = selectedMenu;
    }


public void getCatFinanceList(){

        this.setCatFinance(new CatFinance());
        CatFinanceService catFinanceService = (CatFinanceService) SpringDaoCtxFactory.getDaoContext().getBean("CatFinanceService");
        this.getCatFinanceVect().clear();

        try {
            this.getCatFinanceVect().addAll(catFinanceService.getCatFinanceList());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

        public void getCatItList(AjaxBehaviorEvent event){

            this.setCatIt(new CatIt());
            CatItService catItService = (CatItService) SpringDaoCtxFactory.getDaoContext().getBean("CatItService");
            this.getCatItVect().clear();
            System.out.println("aaaa");
            try {
                this.getCatItVect().addAll(catItService.getCatItList(2));
            } catch (Exception e) {
                e.printStackTrace();
            }

        }
@PostConstruct
public void init(){
    getCatFinanceList();
}

}

如果有人能在这方面提供帮助,或者给我一个很好的教程,我会非常感激的,提前谢谢

共有1个答案

钱睿范
2023-03-14

f:ajax事件无效。它应该是change(或为h:selectOneMenu,默认为change,为空)

<代码>

 类似资料:
  • 问题内容: 我是java的新手,我被困在这里…我要做的是将一个java文件中arraylist的更改更新为另一个文件中的JPanel。我正在对arraylist进行排序,因此无法手动完成。有什么办法可以让我“告诉” JPanel痛楚吗? 我有进行排序(工作)的BubbleSort.java,有包含JPanel和JFrame类(用于显示未排序的直方图的工作)的Animation.java。 这是家庭

  • 如何在成功提交数据时将数据从本地数据库刷新到RecyclerView?我使用应用程序上的选项卡。函数提交数据,如果成功,数据将存储在中。 关于的数据将在中显示。但是发生的情况是,我必须滑动,然后滑动到,然后滑动到我的上成功显示的新的数据。 主要活动: 一切都很顺利,只是希望表单提交的时候数据能显示出来,可以直接在第3页签上查看

  • 我想改变菜单的状态,当路由改变,但不能使它工作。 我面临的问题是:当我点击Navbar中的链接时。路线改变了,但它不会关闭。当路线更改时,如何更改菜单状态?react-router-redux能帮我吗? 行动 减速器 组件 子组件

  • 我想实现,让我们说温度单位转换器。我想使用AndroidMVVM和数据绑定来做到这一点,但我不知道如何。我有一个片段,它由三个编辑文本字段组成:摄氏度,华氏度,开尔文。更改其中之一后,其余部分应自动更新。在没有数据绑定的情况下,我将 TextWatcher 设置为每个字段,并在 onTextChanged 中执行所有验证和转换逻辑,并设置其他字段的值。在之前文本更改中,我删除了其他字段的侦听器,并

  • 我正在使用齐柏林飞艇0.6.2和火花2.0。 我尝试在循环中执行查询,但效果不是很好。 我需要循环一个数据帧的每一行,大约5000行,并执行一个查询,这将在另一个数据帧中增加一个值。 以下是我的尝试: 我试着从两个数据帧中提取一小部分,但仍然很慢。我觉得我做得不对。 知道如何快速更新数据帧吗?

  • 我想在构造函数外部或从另一个类更新已创建控件的JLabel。在这里,我创建了一个控件,并在构造函数中添加了一些组件。UI是在main中创建的,但是我想更新这个类之外的一些标签。所以我创建了setResult(最终字符串文本,最终字符串路径)来做这样的事情,但它不起作用。。。。 我的问题是setResult不起作用。我不知道为什么。有人能帮忙吗?谢谢