无法调用commandbutton的操作方法

时间:2012-04-16 13:31:20

标签: jsf jsf-2 jsf-1.2

我正在尝试JSF,而且我无法调用映射到action属性的方法 我的JSF页面如下,

 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
 <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
 <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
        <title>MAP STUDENT-COURSE</title>
        <link rel="stylesheet" href="<%=request.getContextPath()%>/demo.css" type="text/css" />
        <script type="text/javascript">
            window.onload = function(){
                    var validateFN = function(){
                        var selectObj = document.getElementById("selectOptionForm:operationTypeID");
                        var selectFN = function(){                      
                            var selectedOp = selectObj.options[selectObj.selectedIndex].value;
                            if(selectedOp == "0" || selectedOp == 0){
                                alert(" Select appropriate option.... ");                                   
                            }else{
                                document.selectOptionForm.submit();
                            }   
                        }

                        if(selectObj != null){  
                            selectObj.onchange = selectFN;                          
                        }
                    }
                    validateFN();

            }
        </script>
    </head>
    <body>
        <f:view>
            <h:form id="selectOptionForm">
                <h:panelGrid columns="2" headerClass="headerRow" rowClasses="oddRow,evenRow">
                    <f:facet name="header">
                        <h:outputText value="SELECT OPERATION" />
                    </f:facet>
                    <h:outputText value="SELECT OPTION" />
                    <h:selectOneMenu id="operationTypeID" value="#{studentCourseBean.operationType}" valueChangeListener="#{studentCourseBean.fetchCombo}">
                        <f:selectItem  itemLabel="SELECT"  itemValue="0"  />    
                    <f:selectItem  itemLabel="MAP STUDENT"  itemValue="addStudent"  />
                        <f:selectItem  itemLabel="MAP COURSE"  itemValue="addCourses"  />
                    </h:selectOneMenu>
                </h:panelGrid>
            </h:form>
            <br />
            <br />
            <br />
            <h:form id="addStudentForm" rendered="#{(studentCourseBean.addByStudents && !studentCourseBean.addByCourses)}">
                <h:panelGrid columns="2" headerClass="headerRow" rowClasses="oddRow,evenRow" footerClass="headerRow">
                    <f:facet name="header">
                        <h:outputText value="MAP STUDENT" />
                    </f:facet>
                    <h:outputText value="SELECT STUDENT" />
                    <h:selectOneMenu  id="studentID" value="#{studentCourseBean.selectedStudentId}">
                        <f:selectItems value="#{studentCourseBean.studentDropBox}" />
                    </h:selectOneMenu>
                    <h:outputText value="SELECT COURSE'S" />
                    <h:selectManyListbox id="courseID" value="#{studentCourseBean.selectedCourseList}" size="5">
                        <f:selectItems value="#{studentCourseBean.courseDropBox}" />
                    </h:selectManyListbox>
                    <f:facet name="footer">
                        <h:panelGroup>
                            <h:commandButton id="enterButton" type="submit" value="ENTER" action="#{studentCourseBean.addStudentAction}" />
                            <h:commandButton id="cancelButton" type="submit" value="CANCEL" action="#{studentCourseBean.cancelAction}" />
                        </h:panelGroup>
                    </f:facet>
                </h:panelGrid>
            </h:form>
            <h:form id="addCourseForm" rendered="#{(!studentCourseBean.addByStudents && studentCourseBean.addByCourses)}">
                <h:panelGrid columns="2" headerClass="headerRow" rowClasses="oddRow,evenRow" footerClass="headerRow">
                    <f:facet name="header">
                        <h:outputText value="MAP COURSE" />
                    </f:facet>
                    <h:outputText value="SELECT COURSE" />
                    <h:selectOneMenu  id="courseID" value="#{studentCourseBean.selectedCourseList}">
                        <f:selectItems value="#{studentCourseBean.courseDropBox}" />
                    </h:selectOneMenu>
                    <h:outputText value="SELECT STUDENTS" />
                    <h:selectManyListbox id="studentID" value="#{studentCourseBean.selectedStudentList}" size="5">
                        <f:selectItems value="#{studentCourseBean.studentDropBox}" />
                    </h:selectManyListbox>
                    <f:facet name="footer">
                        <h:panelGroup>
                            <h:commandButton id="enterCrButton" type="submit" value="ENTER" action="#{studentCourseBean.addCourseAction}" />
                            <h:commandButton id="cancelCrButton" type="submit" value="CANCEL" action="#{studentCourseBean.cancelAction}" />
                        </h:panelGroup>
                    </f:facet>
                </h:panelGrid>
            </h:form>   
        </f:view>   
    </body>
 </html>

这里我说的是第二个表单,其id为“addCourseForm”,

请注意,我的页面中有两个表单,首先是“addStudentForm”表单,这完全正常,但在我的第二个表单中我无法提交,可以任何正文告诉我为什么“addCourseForm”不起作用根据需要,

我在ViewedScope中的支持bean,我正在使用JSF 2.0注释, 等待回复

0 个答案:

没有答案