Я использую NetBeans для написания веб-приложения с каркасом JavaServerFaces. Файл my faces-config xml содержит ссылку навигации, которую я использую, чтобы вернуться на главную страницу. Домашняя страница содержит слайд-шоу и раскрывающееся поле со списком, которое при выборе из него переходит на другую страницу. На этой странице есть ссылка, которая возвращает меня на главную страницу. Все это прекрасно, если только я не перехожу полностью другая страница и нажмите на ссылку, чтобы вернуться на главную страницу, поле со списком, когда используются бросками ошибки, и я получаю страшныйКак исправить сломанную страницу в приложении JSF
java.lang.IllegalStateException: Компонент >> [email protected] не ожидается тип. Ожидается: >>> javax.faces.component.UIForm. Возможно, вам не хватает тега?
ошибка. Также все мои страницы завернуты в тег f: view. Может ли кто-нибудь предложить исправить это? Спасибо за любую помощь. Мой дом JSP Страница:
<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>
Это правило навигации: <navigation-rule> <navigation-case> <from-outcome>welcome</from-outcome> <to-view-id>/quote.jsp</to-view-id> </navigation-case> </navigation-rule>
Это показывает ссылки на страницу, которая показывает, когда выбор сделан из выпадающего списка на домашней странице: ` Цитата Посмотреть
<h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/>
<br>
<h:commandLink value="Home" action="welcome" immediate="true" />
</h:form>
`
Пожалуйста, предоставьте [mcve] –
Пожалуйста, проверьте свой код ... этот ДОЛЖЕН быть очевидным ... Начните с хорошего отступа, и вы найдете его очень быстро .... – Kukeltje
Kukeltje-Мне очень жаль, но я просто не вижу, что вам очевидно. Вы можете объяснить? – Reggie