小编Ray*_*Ray的帖子

使用具有相同视图范围的bean通过h:link传递param(值为null,因此不会添加到URL)

我有一个带有视图范围的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. …

jsf selectonemenu primefaces jsf-2

2
推荐指数
1
解决办法
7109
查看次数

在selectOneMenu Primefaces中对项目进行分组

我决定在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)

java jsf selectonemenu primefaces jsf-2

2
推荐指数
1
解决办法
6006
查看次数

ImapMailReceiver没有STORE尝试READ-ONLY文件夹(失败)[THROTTLED];

我花了一天时间试图找到一些解释这个例外.我尝试配置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)

java email spring spring-integration gmail-imap

2
推荐指数
1
解决办法
2063
查看次数

JSF 2.0在actionListener中验证失败后禁止调用操作

我有一个添加一些数据的对话框:

<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案例验证失败.

是否可以禁止呼叫行动?

java jsf action actionlistener jsf-2

1
推荐指数
1
解决办法
3587
查看次数