ADF 笔记
2013-09-26 16:52
148 查看
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();
<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();