为什么jsf:binding属性在输入字段上使用时会创建jsessionid cookie?

时间:2013-09-04 19:21:53

标签: jsf-2 jsf-2.2

为什么在访问具有jsf:binding属性的网页时会创建jsessionid cookie?如果我删除jsf:binding,则不会创建Cookie。我想让我的页面无cookie。支持bean使用这两个Spring注释进行注释:@Controller@Scope("request")

<div class="form-group #{!username.valid ? 'has-error' : ''}">
    <label for="username" class="col-md-2 control-label">
        #{i18n['signup.username.text']}
    </label>
    <div class="col-md-4">
        <input type="text"
            class="form-control"
            jsf:id="username"
            jsf:binding="#{username}"
            jsf:value="#{signUpBean.username}"
            jsf:maxlength="#{signUpBean.USERNAME_MAXLENGTH}"
            placeholder="#{i18n['signup.username.placeholder.text']}">
            <f:ajax event="change" render="username-message" />
        </input>
    </div>
    <h:message for="username" id="username-message" styleClass="col-md-6 help-block" />
</div>

1 个答案:

答案 0 :(得分:0)

我将UIComponent usernameInput添加到支持bean,将jsf:binding="#{username}"更改为jsf:binding="#{signUpBean.usernameInput}"并将#{!username.valid ? 'has-error' : ''}更改为#{!signUpBean.usernameInput.valid ? 'has-error' : ''},并且不再创建Cookie。