Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 - Fatal编程技术网

如何修复JSF应用程序中的断页

如何修复JSF应用程序中的断页,jsf,Jsf,我正在使用NetBeans编写一个带有JavaServerFaces框架的web应用程序。 我的faces配置xml文件包含一个导航链接,我使用它返回主页。 主页包含幻灯片放映和一个下拉组合框,当从中选择时,该组合框将转到另一个页面。在该页面上有一个链接,可将我返回主页。所有这些都很好,但当我转到完全不同的页面并单击链接返回主页时除外,使用该组合框时会抛出错误,我会收到错误消息 <h:commandLink action="#{QuoteMB.listSetup}"

我正在使用NetBeans编写一个带有JavaServerFaces框架的web应用程序。 我的faces配置xml文件包含一个导航链接,我使用它返回主页。 主页包含幻灯片放映和一个下拉组合框,当从中选择时,该组合框将转到另一个页面。在该页面上有一个链接,可将我返回主页。所有这些都很好,但当我转到完全不同的页面并单击链接返回主页时除外,使用该组合框时会抛出错误,我会收到错误消息

            <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
            <br>
            <h:commandLink value="Home" action="welcome" immediate="true" />

        </h:form>
java.lang.IllegalStateException:Component>>javax.faces.Component。UIViewRoot@6685d2dd不是预期的类型。应为:>>>javax.faces.component.UIForm。也许你丢了一个标签

            <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
            <br>
            <h:commandLink value="Home" action="welcome" immediate="true" />

        </h:form>
错误。 而且我的所有页面都用f:view标签包装。 有人能建议解决这个问题吗? 谢谢你的帮助。 我的主页:

        <title>Quotes</title>
    </head>
    <body>
        <h1>Quote Home Page</h1>

            <h:form>
            <h:commandLink action="#{QuoteMB.createSetup}" value="Add New Quote"/>
            </h:form>
            <h:form>
                <h:commandLink action="#{Login.logout}" value="Log Out" />
            </h:form>
        </div>
        <FORM ACTION="quoteview.jsp" METHOD="POST" >
            <div style="text-align:center">
                <h3>Please select the quote you want to display:</h3>
                <BR>


                <%
                    int count = 0;
                    int i = 0;
                    int reversecount = 0;
                    int originalcount = 0;
                    Connection connection =  DriverManager.getConnection("jdbc:mysql://localhost:3306/babylon", "root", "sequence");

                    Statement statement = connection.createStatement();
                    //import java.util.HashMap;
                    ResultSet resultset = statement.executeQuery("SELECT quotetext  FROM quote");
                    java.util.HashMap <Integer,String> nametoValueMap = new java.util.HashMap <Integer,String>();
                    if (!resultset.next()) {
                        out.println("Sorry, no records found. ");
                    } else {
                        int j=0;
                        resultset.previous();
                        while(resultset.next()){

                        j++;
                           String qt=resultset.getString(1);
                        int len=0;
                        len=qt.indexOf("\n");
                        if(len==-1)len=30;
                        if(len>30)len=30;
                        System.out.println("search length= "+len);
                            qt=qt.substring(0,len);
                        qt=qt.replace("'", "''");
                        System.out.println("final qt= "+qt);
                            nametoValueMap.put(j,qt);
                        System.out.println("Putting j "+j+" with "+qt);
                        }
                        count = j;
                        originalcount = count;

                        System.out.println("originalcount= "+originalcount);
                        out.print("<select name=\"id\">");

                        while (count != 0) {
                            String text=nametoValueMap.get(reversecount);
                            System.out.println("Text = "+text+" reversecount= "+reversecount);
                            reversecount = originalcount - (count - 1);
                             //out.print("<option><column>" + reversecount + "</column></option>"); // where column1 is the column in the database table
                            out.print("<option><column>" + nametoValueMap.get(reversecount) + "</column></option>");
                            count--;
                        }
                        out.print("</select>");
                    }

                        resultset.close();
                        statement.close();
                        connection.close();

                %>
                <INPUT TYPE="SUBMIT" value="Go" class="input">
            </div>
        </FORM>
        <br/>
        <div style="text-align:center">
            <a href="javascript:gotoshow()"><img src="Shakespeare2.jpg" name="slide" id="borderimg1" ></a>
        </div>
        <br/>
</html>
            <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
            <br>
            <h:commandLink value="Home" action="welcome" immediate="true" />

        </h:form>
引号
报价主页
请选择要显示的报价:

30)len=30; System.out.println(“搜索长度=“+len”); qt=qt.子串(0,len); qt=qt.替换(“”,“”); System.out.println(“final qt=“+qt”); nametoValueMap.put(j,qt); System.out.println(“将j”+j+”与“+qt”放在一起); } 计数=j; 原始计数=计数; System.out.println(“originalcount=“+originalcount”); 输出。打印(“”); while(计数!=0){ String text=nametoValueMap.get(反向计数); System.out.println(“Text=“+Text+”reversecount=“+reversecount”); 反向计数=原始计数-(计数-1); //out.print(“+reversecount+”);//其中column1是数据库表中的列 out.print(“+nametoValueMap.get(reversecount)+”); 计数--; } 输出。打印(“”); } resultset.close(); 语句。close(); connection.close(); %>

            <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
            <br>
            <h:commandLink value="Home" action="welcome" immediate="true" />

        </h:form>
这是导航规则:

欢迎
/quote.jsp
这将显示从主页上的组合框进行选择时显示的页面上的链接: `报价视图

            <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
            <br>
            <h:commandLink value="Home" action="welcome" immediate="true" />

        </h:form>



`

似乎我的JSP文件需要放在pages文件夹和Web文件夹下。
            <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
            <br>
            <h:commandLink value="Home" action="welcome" immediate="true" />

        </h:form>
这对我来说很奇怪,但当我将文件复制到两个文件夹时,问题得到了解决。 很抱歉占用了大家的时间。
谢谢您的帮助。

请提供一个密码,请检查您的密码。。。这个一定很明显。。。从良好的缩进开始,你会很快发现……库克尔特杰——对不起,我只是看不出什么对你来说是显而易见的。你能解释一下吗?
            <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
            <br>
            <h:commandLink value="Home" action="welcome" immediate="true" />

        </h:form>