Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未触发JSF操作_Jsf_Jsf 1.2_Managed Bean_Icefaces 1.8 - Fatal编程技术网

未触发JSF操作

未触发JSF操作,jsf,jsf-1.2,managed-bean,icefaces-1.8,Jsf,Jsf 1.2,Managed Bean,Icefaces 1.8,在我开始一项大型活动之前,我正在尝试做一个简单的测试。但是,这就是我被困的地方。测试是提交JSF表单,但托管bean操作从未被触发 <html 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"

在我开始一项大型活动之前,我正在尝试做一个简单的测试。但是,这就是我被困的地方。测试是提交JSF表单,但托管bean操作从未被触发

<html 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:ice="http://www.icesoft.com/icefaces/component">
<f:view>    
<head>
<title>A B C</title>
</head>
<body>
      <h:form id="test">
        <h:inputText value="demo"/>
        <h:commandButton type="submit" value="A button" action="#{User.better}" immediate="true" />
      </h:form>
</body>
</f:view>
</html>
我已正确设置了所有配置。我可以看到这一页。但是,控件从未在方法中生效。怎么会?任何建议都很好

更新: 这是我的faces-conig.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <application>
        <view-handler>com.icesoft.faces.facelets.D2DFaceletViewHandler</view-handler>
    </application>
 <managed-bean>
  <managed-bean-name>User</managed-bean-name>
  <managed-bean-class>com.srk.beans.User</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
 </managed-bean>
</faces-config>

com.icesoft.faces.facelets.D2DFaceletViewHandler
使用者
com.srk.beans.User
要求

我已将托管bean名称从一个用户更改为另一个用户(小写),并且在.xhtml页面中也更改了相同的名称,但似乎仍然存在相同的问题。

尝试使用User而不是User。因此,尝试使用put User.better而不是User.better。您是否使用JSF2?另外,发布您的faces配置文件

尝试使用user而不是user。因此,尝试使用put user.better而不是user.better。您是否使用JSF2?另外,post您的faces配置文件

对带有
void
返回类型的操作方法的支持直到v2.x才出现在JSF中。对于
更好的

public Object better() {
    System.out.println("In better...");

    return null;
}

对带有
void
返回类型的操作方法的支持直到v2.x才出现在JSF中。对于
更好的

public Object better() {
    System.out.println("In better...");

    return null;
}

Periklis:我正在使用JSF1.2,我已经更新了faces-config.xml文件作为更新。我尝试将用户更改为用户并进行了检查,但运气不佳。更好的功能是void类型。在您的操作中,您应该指定一个返回字符串的函数。也许,您想编写action=“#{User.send}”我也尝试过这种方法,即调用#{User.send},但它不起作用。Periklis:我使用的是JSF1.2,我更新了faces-config.xml文件作为更新。我尝试将用户更改为用户并进行了检查,但运气不佳。更好的功能是void类型。在您的操作中,您应该指定一个返回字符串的函数。也许,您想编写action=“#{User.send}”我也尝试过这种方法,即调用#{User.send},但它不起作用。检查bean是否正确生成,并在您的facelet中打印出某些内容(
h:outputText值=“#{User.hello}”
)@XtremeBiker:Ya,它起作用,即访问User.hello等属性,但是命令按钮操作仍然没有启动。调试服务器端,查看当您单击按钮时,
FacesServlet
是否被点击。如果没有,调试客户端并查看浏览器是否正在发送请求。还请检查应用程序中可能会影响行为的任何可能的过滤器。检查bean是否正确生成,并在facelet中打印出某些内容(
h:outputText value=“#{user.hello}”
)。@XtremeBiker:Ya,它可以工作,即…,访问诸如user.hello的某些属性,但是命令按钮操作仍然没有启动。调试服务器端,查看当您单击按钮时,
FacesServlet
是否被点击。如果没有,调试客户端并查看浏览器是否正在发送请求。还要检查应用程序中可能存在的任何可能影响行为的筛选器。没错,问题是控件没有进入任何操作方法。没错,问题是控件没有进入任何操作方法。