ADF 笔记

来源:互联网 发布:mysql and not exists 编辑:程序博客网 时间:2024/06/06 05:18

  1、 在form里面添加 af:inputText 和 af:outputText 时  如果让左边的样式统一,没有缩进。

   <af:panelFormLayout id="pfl1" rows="7">

        <af:panelLabelAndMessage label="#{bindings.ProjInspNo.hints.label}"
                                 id="plam1">
          <af:outputText value="#{pageFlowScope.projectPlanCreateBean.ppNo}"
                         id="ot1"/>
        </af:panelLabelAndMessage>
        <af:inputText value="#{pageFlowScope.projectPlanCreateBean.ppName}"
                      label="#{bindings.ProjectName.hints.label}"
                      required="true" id="it5">
          <f:validator binding="#{bindings.ProjectName.validator}"/>

        </af:inputText>

      </af:panelFormLayout>

2、adf 中 selectManyShuttle中 为空验证,require = “true”,当save按钮属性partialSubmit="false"时,popup中,不起作用,刷新不了。

 必须让save按钮属性partialSubmit="true",局部刷新,就会验证了。具体为什么了没弄清楚。


3、adf 中日期的minValue设置成当天日期,必须没有时间的设置。

<af:form id="f1">
*<af:inputDate label="Choose Date" id="id1"*
*minValue="#{ChooseDateBean.minDate}"/>*
<af:commandButton text="Submit" id="cb1"/>
</af:form>

*ChooseDateBean.java:*

import java.util.Calendar;
import java.util.Date;

public class ChooseDateBean {
public ChooseDateBean() {
super();
}

private Date minDate = new Date();

public void setMinDate(Date minDate) {
this.minDate = minDate;
}

public Date getMinDate() {
   Calendar calendar = Calendar.getInstance();*
   // CLEAR THE TIME PART
   calendar.set(Calendar.HOUR_OF_DAY, 0);
   calendar.set(Calendar.MINUTE, 0);
   calendar.set(Calendar.SECOND, 0);
   calendar.set(Calendar.MILLISECOND, 0);
   minDate = calendar.getTime();
   return minDate;
 }
}

或者

public Date getMinDate() {
  Calendar currentDate = Calendar.getInstance();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  String dateNow = formatter.format(currentDate.getTime());
  try {
      minDate = (Date)formatter.parse(dateNow);
  } catch (ParseException e) {
      System.out.println(e);
  }
return minDate;
}

4、同一个taskflow中有多个manageBean,如果想其中一个bean1获取另一个bean2的实例和当前的属性,可以如下获取:

//import org.apache.myfaces.trinidad.context.RequestContext;

        RequestContext reqContext = RequestContext.getCurrentInstance();
        Bean2 bean2 = (Bean2 )reqContext.getPageFlowScope().get("bean2 ");//bean2 为taskflow中的别名。

 这样就能获取bean2的当前实例和当前的属性。

5、在vo的table中添加row,希望按某个属性排序,正常的createRow,insertRow(),table中新添加的row是不会再最后或者最前的。

      需求:本身的row是按时间排序的,希望最后插入的在最后一行。解决方法:

      不使用vo.insertRow(row),用

      vo.insertRowAtRangeIndex(vo.getRangeIndexOf(vo.last())+1, row);获取当前vo最后一行的 index,然后加1,使插入的row排在最后。

6、在java中如何获取sequence:

        SequenceImpl sequenceImpl =
            new SequenceImpl("seq_name", ADFUtils.getApplicationModuleForDataControl(DATA_CONTROL_Name));
        String sequenceId =
            sequenceImpl.getSequenceNumber().bigDecimalValue().toString();

原创粉丝点击