我有一个带有视图范围的bean,并希望在两个不同的页面和第一页之间传递参数,在此链接之前,我在<p:selectOneMenu/>哪里选择测试哪个id应该作为GET参数传递
<p:selectOneMenu value="#{addQuestion.test}" id="tests"
converter="#{testConverter}" required="true" requiredMessage="Please, choose test">
<f:selectItem itemLabel="--Select a test--" itemValue="" />
<f:selectItems value="#{addQuestion.testList}" var="testItem"
itemValue="#{testItem}" itemLabel="#{testItem.testName}" />
<p:ajax process="@this"
listener="#{addQuestion.getQuestionsBySubject()}"
update="addingQuestionsTable, testId" />
</p:selectOneMenu>
<h:link value="Add new question" outcome="addQuestion">
<f:param id="testId" name="testId" value="#{addQuestion.test.testIdentifer.testId}"/>
</h:link>
Run Code Online (Sandbox Code Playgroud)
//在第二页
<f:metadata>
<f:viewParam name="testId"
value="#{addQuestion.test.testIdentifer.testId}"
converter="#{testConverter}" required="true" requiredMessage="Invalid page access. Please use a link from within the system."/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
和豆
@ManagedBean(name = "addQuestion")
@ViewScoped
public class AddQuestion implements Serializable {
private Test test;
//get
//set
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图在第二页上获得价值时,我没有什么可以得到表达#{addQuestion.test.testIdentifer.testId}"而且在开发模式中我得到了
值为null,因此不会添加到URL. …
我决定在selectOneMenu中使用group selectItems在primefaces中面对问题我看到我的问题的决定如何在selectOneMenu中对selectItems进行分组但它对我没有帮助
当我使用<p:selectOneMenu>它不行,并生成这样的HTML
<div id="manageTournament:gender" class="ui-selectonemenu ui-widget ui-state-default ui-corner-all ui-helper-clearfix">
<div class="ui-helper-hidden-accessible"><select id="manageTournament:gender_input"
name="manageTournament:gender_input">
<option value="">German Cars</option>
<option value="">American Cars</option>
</select></div>
Run Code Online (Sandbox Code Playgroud)
但是当我使用<h:selectOneMenu>它时没关系
<select id="manageTournament:gender" name="manageTournament:gender" size="1">
<optgroup label="German Cars">
<option value="BMW">BMW</option>
<option value="Mercedes">Mercedes</option>
<option value="Volkswagen">Volkswagen</option>
</optgroup>
<optgroup label="American Cars">
<option value="Chrysler">Chrysler</option>
<option value="GM">GM</option>
<option value="Ford">Ford</option>
</optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)
我的xhtml页面
<h:form id="manageTournament">
<f:event type="preRenderView" listener="#{adminTournamentController.setConditions(false, 1)}"/>
<p:wizard id="wizard" widgetVar="wiz" style="display: inline-block; width:600px;"
flowListener="#{adminTournamentController.onFlowProcess}" nextLabel="#{msg.next_button}" backLabel="#{msg.back_button}">
<p:tab id="competitionId" title="#{msg.add_tournament}">
<p:panel header="#{msg.info_about_tournament}">
<h:panelGrid columns="3" olumnClasses="label, value" styleClass="grid">
<p:outputLabel …Run Code Online (Sandbox Code Playgroud) 我花了一天时间试图找到一些解释这个例外.我尝试配置ImapMailReceiver和ImapIdleChannelAdapter programmatic.
我没有在Pro Spring Integration书中找到关于这个问题的任何教程.
public void loadMessages() {
ImapIdleChannelAdapter imapIdleChannelAdapter = null;
ImapMailReceiver imapMailReceiver = null;
try {
imapMailReceiver = new ImapMailReceiver("imaps://" + URLEncoder.encode(USERNAME, "UTF-8") + ":" + PASSWORD + "@imap.gmail.com:993/INBOX");
imapMailReceiver.setShouldMarkMessagesAsRead(true);
imapMailReceiver.setShouldDeleteMessages(false);
Properties javaMailProperties = new Properties();
javaMailProperties.put(MAIL_IMAP_SOCKET_FACTORY_CLASS, environment.getProperty(MAIL_IMAP_SOCKET_FACTORY_CLASS, SOCKET_FACTORY_CLASS));
javaMailProperties.put(MAIL_IMAP_SOCKET_FACTORY_FALLBACK, environment.getProperty(MAIL_IMAP_SOCKET_FACTORY_FALLBACK, Boolean.class, SOCKET_FACTORY_FALLBACK));
javaMailProperties.put(MAIL_STORE_PROTOCOL, environment.getProperty(MAIL_STORE_PROTOCOL, INBOX_MAIL_PROTOCOL));
javaMailProperties.put(MAIL_DEBUG, environment.getProperty(MAIL_DEBUG, Boolean.class, MAIL_DEBUG_VAL));
imapMailReceiver.setJavaMailProperties(javaMailProperties);
imapMailReceiver.setJavaMailAuthenticator(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD);
}
});
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(environment.getProperty(RECEIVE_MESSAGE_POOL_SIZE, Integer.class, DEFAULT_RECEIVE_MESSAGE_POOL_SIZE));
threadPoolTaskScheduler.afterPropertiesSet();
DirectChannel …Run Code Online (Sandbox Code Playgroud) 我有一个添加一些数据的对话框:
<p:commandButton id="save"
actionListener="#{adminNationalController.saveTeam}"
action="#{adminManageInternationalTournamentController.updateTeamList}"
value="#{msg.save}" ajax="true"
icon="ui-icon-check"
onmousedown="return validateSubmit('addCombinedTeamForm', ['name'],'lang')"
oncomplete="if (!args.validationFailed) addCombinedTeamDialog.hide()"
process = "@form"
update="lang, name, :manageTournament:dataList,:manageTournament:scroll, :menuForm:growl, :manageTournament:nationalTeam">
<f:setPropertyActionListener
value="#{adminNationalController.newTeamBean}"
target="#{adminManageInternationalTournamentController.newTeamBean}"/>
</p:commandButton>
Run Code Online (Sandbox Code Playgroud)
在saveTeam我尝试验证数据,但action案例验证失败.
是否可以禁止呼叫行动?