【问题标题】:how i can can get the id weird issue it is in wicket 1.4我怎样才能得到 wicket 1.4 中的 id 奇怪问题
【发布时间】:2020-11-19 15:44:54
【问题描述】:

我在 wicket 1.4 中遇到了一个奇怪的问题。

我们有一个从 Datefield 扩展而来的 ReservationDateField。

问题是在 datefield 中,我有一个输入 Datetext 字段,它有一个由 wicket 生成的 id,我需要更改它。

我需要更改输入标签的markupId;请看照片:

这是 HTML:

  <div class="arena-reservation-from">
                        <div class="arena-form-content" wicket:id="validFromDateContainer">
                            <label class="arena-field" wicket:for="validFromDate"><wicket:message key="ReservationValidFrom.label"/></label>
                            <label class="arena-input-text" wicket:id="validFromDate"></label>
                            <p id="arena-add-reservation-validFromDate-error-msg" class="arena-input-error-msg" aria-hidden="true" />
                        </div>

java 在这里:

    private void addFromDateFieldContainer() {
    DateField field = new ReservationDateField("validFromDate");
    WebMarkupContainer container = new 
         WebMarkupContainer("validFromDateContainer");
    container.add(field);
    container.setVisible(configParams.isShowReservationFromDate());
    add(container);
}

【问题讨论】:

    标签: wicket


    【解决方案1】:

    你需要覆盖newDateTextField(String id, PropertyModel dateFieldModel)

    DateField field = new ReservationDateField("validFromDate") {
    
      @Override
      protected DateTextField newDateTextField(String id, PropertyModel dateFieldModel) {
        DateTextField dateTextField = DateTextField.forShortStyle(id, dateFieldModel);
        dateTextField.setMarkupId("mySpecialId");
        return dateTextField;
      }
    

    【讨论】:

    • 这里有个问题,为什么要写这行:DateTextField dateTextField = DateTextField.forShortStyle(id, dateFieldModel);
    • 这是默认实现。我只是复制它。请采纳答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2018-03-16
    • 1970-01-01
    相关资源
    最近更新 更多