#html #css #jsf #primefaces
#HTML #css #jsf #простые
Вопрос:
я работаю в веб-приложении с jsf и primefaces.
Мой код для панели навигации выглядит следующим образом:
<p:layoutUnit position="north" >
<h:form>
<img src="resources/images/logo.png" alt="" />amp;nbsp;amp;nbsp;amp;nbsp;
<p:outputLabel value="Rechercher " style="font-size: large"/> amp;nbsp;amp;nbsp;amp;nbsp;
<p:inputText value="#{acount.searchWord}" required="true" requiredMessage="Le titre est requit"/>amp;nbsp;amp;nbsp;amp;nbsp;
<p:commandButton value="Go" action="#{acount.rechercherLivre(acount.searchWord)}" styleClass="btngo" />
<h:link outcome="main.xhtml" value="Accueil" style="margin-left: 400px;font-size: medium"/>amp;nbsp;amp;nbsp;
<h:link outcome="Contact.xhtml" value="Contact" style="font-size: medium"/>amp;nbsp;amp;nbsp;
<h:link outcome="Info.xhtml" value="Info" style="font-size: medium"/>amp;nbsp;amp;nbsp;amp;nbsp;
<h:link outcome="Login.xhtml" value="Login" style="font-size: medium" rendered="#{!acount.connected}" /> amp;nbsp;amp;nbsp;
<h:link outcome="exe.xhtml" value="S'enregistrer" style="font-size: medium" rendered="#{!acount.connected}" /> amp;nbsp;amp;nbsp;
<p:menuButton value="Panier #{shopingCart.produits.size()}" style="color: #045491;background: greenyellow;background-color: yellowgreen;font-size: medium">
<p:menuitem value="Afficher" action="#{shopingCart.afficherPanier()}"/>
<p:separator />
<p:menuitem value="Homepage" url="http://www.primefaces.org" />
</p:menuButton>
<p:menuButton value="Options" rendered="#{acount.connected}" style="color: #045491;background: greenyellow;background-color: yellowgreen;font-size: medium">
<p:menuitem value="Compte" />
<p:menuitem value="Mes Commandes " />
<p:menuitem value="Se deconnecter" action="#{acount.doLogout()}" />
<p:separator />
<p:menuitem value="Homepage" url="http://www.primefaces.org" />
</p:menuButton>
</h:form>
</p:layoutUnit>
И изображение для этого кода:
Проблема в том, что если я ничего не помещаю в вводимый текст, действие для CommandButton не выполняется, также метод действия в MenuButton не выполняется, если я что-то не помещаю во входной текст.
Я могу решить эту проблему, поместив форму для каждого метода действия, но моя панель навигации стала больше, и это выглядит достойно.
как я могу решить эту проблему?
Комментарии:
1.
required="true" requiredMessage="Le titre est requit"
разве это не говорит само за себя?2. Спасибо, я не обращал внимания, потому что сообщение так и не было опубликовано.
3. у меня есть еще один вопрос, если вы можете мне помочь, для функции поиска я только что внедрил такую функцию, как функция substring , мне нужна функция с большими возможностями для поиска, потому что, если пользователь забудет один алфавит, результата не будет. и это плохо
Ответ №1:
Если вам не нужно вводить какое-либо значение в свой компонент с помощью вашей CommandButton, добавьте атрибут процесса в CommandButton. Я думаю, что вы пытаетесь оставить некоторые входные данные пустыми и по-прежнему отправлять запрос, но проблема в том, что для одного из них установлен требуемый атрибут ‘true’. Удалите обязательный атрибут из ваших входных данных и добавьте process=»@this» в вашу CommandButton. Надеюсь, я прав.