1

当用户选择/取消选择 h:selectManyCheckbox 中的某些内容时,我想触发一个事件更改侦听器,如果它不理会它什么都不应该发生。

我的xhtml:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">

<h:head>
<link rel="stylesheet" type="text/css"
    href="/juritest/resources/css/style.css" />
<script type="text/javascript"
    src="/juritest/resources/js/jquery-1.8.2.js"></script>
<script type="text/javascript" src="/juritest/resources/js/menu.js"></script>
</h:head>

<h:body>
<ui:composition template="../../templates/gridsTemplate.xhtml">
    <ui:define name="content">
        ...
                <h:panelGroup style="text-align: left">
                    <hr />
                    <h:selectManyCheckbox
                        value="#{gridPopUpBean.oneQuestionUserAnswers}" 
                        layout="pageDirection">
                        <f:selectItem itemValue="a"
                            itemLabel="#{gridPopUpBean.currentQuestion.a}" />
                        <f:selectItem itemValue="b"
                            itemLabel="#{gridPopUpBean.currentQuestion.b}" />
                        <f:selectItem itemValue="c"
                            itemLabel="#{gridPopUpBean.currentQuestion.c}" />
                        <f:ajax event="click" listener="#{gridPopUpBean.changeListener()}"/>
                    </h:selectManyCheckbox>
                </h:panelGroup>
   ...

我收到一条错误消息,提示“一个或多个资源的目标是‘头’,但视图中没有定义‘头’组件。” 我有 <h:head> 不只是 <head>,我读到这是一个可能的问题。

以及来自 bean 的片段:

public void changeListener(ValueChangeEvent e) {

    change = true;
}   

我试过没有 < f:ajax 之类的

<h:selectManyCheckbox
                        value="#{gridPopUpBean.oneQuestionUserAnswers}" valueChangeListener="#{gridPopUpBean.changeListener()}" onclick="submit()"
                        layout="pageDirection">
                        <f:selectItem itemValue="a"
                            itemLabel="#{gridPopUpBean.currentQuestion.a}" />
                        <f:selectItem itemValue="b"
                            itemLabel="#{gridPopUpBean.currentQuestion.b}" />
                        <f:selectItem itemValue="c"
                            itemLabel="#{gridPopUpBean.currentQuestion.c}" />
                        <f:ajax event="click" listener="#{gridPopUpBean.changeListener()}"/>
                    </h:selectManyCheckbox>

但没有运气...


如何绘制两个一维高斯分布和分类边界[Matlab]?

我有两个类(正态分布),C1 和 C2,每个类都由它们的平均值和标准差定义。我希望能够可视化正态分布的 pdf 图和两者之间的分类边界。目前我有绘制分布的代码,但我不确定如何绘制决策边界。任何想法,将不胜感激。我已经包含了我想要绘制的样本。1

非常感谢!

4

1 回答 1

2

一个或多个资源的目标是 'head',但视图中没有定义 'head' 组件。”我有 <h:head> 而不仅仅是 <head>,我读到这是一个可能的问题。

外面的任何东西<ui:composition>都被忽略了。如果您需要 a <h:head>,它需要进入主模板,gridsTemplate.xhtml(或其任何父模板)。

此外,如果您没有为您的 XHTML 文件使用可视化编辑器(如 Dreamweaver),那么我强烈建议您停止将任何内容放在外面<ui:composition>否则您会一直感到困惑

也可以看看:


<f:ajax event="click" listener="#{gridPopUpBean.changeListener()}"/>

public void changeListener(ValueChangeEvent e) {

你混淆valueChangeListener<f:ajax listener>. 该ValueChangeEvent参数仅适用于组件的valueChangeListener属性UIInput。摆脱那个论点。

public void changeListener() {

也可以看看:


与具体问题无关,您正确使用了click(尽管您可以安全地完全省略它),但您的问题标题提到change,这确实是复选框和单选按钮的错误事件。

也可以看看:

于 2013-04-20T21:31:59.697 回答