Я не знаю, почему метод вызвал
action="#{template.questionMB.navigateToQuestionPage()}
не называется.
Я использую JSF 2.2, у меня нет ошибок в выводе и в сообщениях h:. Журналы, которые я помещаю в метод, не печатаются на выходе, потому что метод не вызывается.
Я попытался выяснить проблему, прочитав эти сообщения, post1 и post2 и несколько других, я не нашел из проблемы. Я использовал type=submit, я использовал commandLink вместо commandButton, но ничего.
Я указал commandButton с ->>>> <<<<-
в коде ниже.
<ui:define name="content">
<ul class="breadcrumb">
<li><a href="#"><h:outputText value="#{labels['breadcrumb.home']}"/></a></li>
<li><a href="listTemplates.xhtml"> <h:outputText value="#{labels['breadcrumb.listTemplates']}"/></a></li>
<li><a href="displayTemplate.xhtml"><h:outputText value="#{labels['breadcrumb.displayTemplates']} #{template.templateDt.mnemonic}"/></a></li>
<li><a href="displayQuestionnaire.xhtml"><h:outputText value="#{labels['breadcrumb.viewQuestionnaire']} #{template.questionnaireMB.currentQuestionnaire.mnemonic}"/></a></li>
<li><a href="displayChapter.xhtml"><h:outputText value="#{labels['breadcrumb.viewChapter']} #{template.chapterMB.currentChapter.mnemonic}"/></a></li>
<li><a href="displayQuestion.xhtml"><h:outputText value="#{labels['breadcrumb.viewQuestion']} #{template.questionMB.currentQuestion.mnemonic}"/></a></li>
<c:choose>
<c:when test="${param['type'] eq 'instructions'}">
<li><h:outputText value="#{labels['editQuestionDetails.QuestionInstructions']} #{template.questionMB.currentQuestion.mnemonic}"/></li>
</c:when>
...
</c:choose>
</ul>
<h:form id="form" class="form-horizontal">
<c:choose>
<c:when test="${param['type'] eq 'instructions'}">
<h2 class="ico_general_settings">Question instructions</h2>
->>>>> <h:messages errorClass="ico_cancel" infoClass="ico_success" fatalClass="ico_cancel" warnClass="ico_warning"/>
<h:message for="returnBtn"/> <<<<<-
<label id="lblInstructions" for="instructions" class="top">Instrucţiuni </label>
<h:inputTextarea id="instructions" rows="3" value="#{template.questionMB.currentQuestion.instructions}" styleClass="input-sm form-control"/>
<h:commandButton value="Save" styleClass="btn btn-sm btn-primary" action="#{template.questionMB.saveQuestion}" onclick="return !checkTemplateTasksInProgress();"/>
->>>>> <h:commandButton id="returnBtn" value="Return" styleClass="btn btn-sm btn-default" action="#{template.questionMB.navigateToQuestionPage()}" immediate="true" /> <<<<<-
И метод в bean:
public String navigateToQuestionPage() {
logger.debug("+++ navigateToQuestionPage() called");
if (currentQuestion.getAnswer() != null && currentQuestion.getAnswer().getClass() == AnswerMatrix.class) {
return ACTION_DISPLAY_QUESTION_MATRIX;
} else {
navigationRuleType = NavigationRuleEditType.QUESTION;
return ACTION_DISPLAY_QUESTION;
}
}
<div class="col-sm-4">
. Но это неверно, и поэтому этот фрагмент (и многие другие фрагменты) являются лишь шумом, который отвлекает потенциального отвечающего от прочтения вопроса. - person BalusC   schedule 14.06.2016test="#{true}"
или полностью удаляете<c:choose>
/<c:when>
? - person BalusC   schedule 14.06.2016<c:choose>
, он работает нормально? Если да, то когда вы сохраняете#{param.type}
через<f:param>
, как объяснено в дубликате, проблема все еще сохраняется? - person BalusC   schedule 15.06.2016<f:param>
было сделано плохо. - person BalusC   schedule 21.06.2016