|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.05.2016, 11:53 | #1 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Аналог exit из PHP для JSF, чтобы дальнейший код в шаблоне не выполнялся.
Столкнулся с проблемой, когда после неудачной авторизации в браузер должен прийти респонз с редиректом, но из-за шаблонности дальнейший код в контенте выполняется. Ставить в каждую функцию, которая может быть вызвана после функции инициализации "if null return;" не нахожу оптимальным (хотя проверять на нулл используемое - правильно вроде бы).
Код шаблона: Код HTML:
<?xml version="1.0" encoding="UTF-8"?> <!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" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> <h:head> <f:metadata> <!-- Вот событие, которое должно быть вызвано на каждой странице--> <f:event listener="#{userBean.checkAuthorization}" type="preRenderView" /> <ui:insert name="roleNeed" > <f:attribute name="roleNeed" value="user" /> </ui:insert> </f:metadata> </h:head> <h:body> <div id="header"> <ui:insert name="header" > <ui:include src="/template/commonHeader.xhtml" /> </ui:insert> </div> <div id="content"> <ui:insert name="content" > <ui:include src="/template/commonContent.xhtml" /> </ui:insert> </div> <div id="footer"> <ui:insert name="footer" > <ui:include src="/template/commonFooter.xhtml" /> </ui:insert> </div> </h:body> </html> Код HTML:
<?xml version="1.0" encoding="UTF-8"?> <!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" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> <h:body> <ui:composition template="/template/main.xhtml"> <ui:define name="roleNeed" > <f:attribute name="roleNeed" value="admin" /> </ui:define> <ui:define name="content"> <!-- Этот код вызываться не должен, если юзер не вошел в аккаунт, однако в логах пишется, что он вызван --> <h:outputLabel value="#{administrationUnit.status}" style="font-weight:bold; display: block; width:185px;" /> </ui:define> </ui:composition> </h:body> </html> Код:
alextrof94$gmail.com
Последний раз редактировалось alextrof94; 12.05.2016 в 12:05. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Код в шаблоне | Trimbl | Microsoft Office Excel | 1 | 16.04.2013 04:40 |
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? | Anarki | Общие вопросы C/C++ | 3 | 13.11.2009 19:23 |
чтобы при переходе по записям DBGrid\DBGrigEh не выполнялся Post | dalien | БД в Delphi | 2 | 31.07.2009 09:57 |
Как сделать чтобы макрос выполнялся сам каждые 10 минут? | Град | SQL, базы данных | 0 | 26.05.2008 16:12 |