Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
Java <;h:命令按钮>;动作属性在JSF 1.2中不起作用_Java_Jsp_Jsf_Jsf 1.2 - Fatal编程技术网

Java <;h:命令按钮>;动作属性在JSF 1.2中不起作用

Java <;h:命令按钮>;动作属性在JSF 1.2中不起作用,java,jsp,jsf,jsf-1.2,Java,Jsp,Jsf,Jsf 1.2,我在应用程序中使用JSF1.2 在下面的代码中,Account Details按钮的action属性不起作用,即该方法未被调用,当我单击该按钮时,不会发生任何事情 <h:panelGrid columns="2"> <h:outputLabel id="lblCustomerDetails" value="Details of CustomerId: "></h:outputLabel> <h:outputText id="txtCust

我在应用程序中使用JSF1.2

在下面的代码中,
Account Details
按钮的action属性不起作用,即该方法未被调用,当我单击该按钮时,不会发生任何事情

<h:panelGrid columns="2">
    <h:outputLabel id="lblCustomerDetails" value="Details of CustomerId: "></h:outputLabel>
    <h:outputText id="txtCustomerId" value="#{customerInfo.customerId }"></h:outputText>
    <h:outputLabel id="lblCustomerName" value="Customer name: "></h:outputLabel>
    <h:outputText id="txtCustomerName" value="#{customerInfo.customerNAme }"></h:outputText>
    <h:outputLabel id="lblAccounts" value="Accounts: "></h:outputLabel>
    <h:selectOneMenu id="drpdownAccounts">
        <f:selectItems value="#{customerInfo.accounts }"/>
    </h:selectOneMenu>      
    <h:outputLabel id="lblEmail" value="Email: "></h:outputLabel>
    <h:outputText id="txtEmail" value="#{customerInfo.email }"></h:outputText>
    <h:outputLabel id="lblAccountDetails" value="Select an account no. for details"></h:outputLabel>
    <h:commandButton id="btnAcountDetails" value="Account Details" action="#{accountBean.accountDetails }"></h:commandButton>
    <h:messages></h:messages>
</h:panelGrid>  
这是faces配置文件中的托管bean:

<managed-bean>     
    <managed-bean-name>customerInfo</managed-bean-name>
    <managed-bean-class>com.bean.CustomerInfo</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>        
</managed-bean>

<managed-bean>     
    <managed-bean-name>accountBean</managed-bean-name>
    <managed-bean-class>com.bean.AccountBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>        
</managed-bean> 

客户信息
com.bean.CustomerInfo
一场
会计豆
com.bean.AccountBean
一场

我可能在代码中遗漏了一些愚蠢的东西,但我无法理解它,为此浪费了很多时间,因此我想发布。指针已被通知。

我看不到您的整个标记,但它可能只是页面中某个地方缺少的
标记吗?在MyFaces Trinidad中,表单控件和按钮不会做任何事情,除非它们位于
标记中


希望这能解决您的问题。

如果将代码粘贴到

<h:form>

但你仍然无法解决你的问题,然后尝试使用

<a4j:JsFunction>

它将解决JSF1.2的问题

<h:form>
<h:commandbutton onclick = "clickme()" />
<a4j:JsFunction name = "clickme" action = "#{yourBean.YourMethod}"  /> 
</h:form>


请排除此处列出的原因第一个嫌疑犯:
在哪里?如果没有表格,您将如何提交表格?然而,这在每一篇sane JSF教程的第1章中都有展示,因此这是一个太明显的错误,表明对基本HTML缺乏理解(在深入研究JSF之前,您最好先了解一下,因为JSF基本上“只是”一个HTML代码生成器)。在回答这个问题之前,我没有看到BalusC的评论。。。从他的链接中得到的答案看起来好像什么都有,包括厨房水槽,所以是的,去那里!!:)
<h:form>
<h:commandbutton onclick = "clickme()" />
<a4j:JsFunction name = "clickme" action = "#{yourBean.YourMethod}"  /> 
</h:form>