ADF配置 LOV

ADF JSF 实现LOV
本文介绍如何使用 ADF JSF 技术实现 LOV(查找值对象),包括创建 Student 和 Class 表格,配置 index.jsp 和 edit.jsp 页面,通过 LOV 查询 Class 信息并返回结果。
创建 Student和Class表(假设表已经建好,并且 对应的Entity Object和View Object都已配好).

第一、创建页面 index.jsp ,edit.jsp和findClass.jsp
1、 其中index页面中建立student View Object的table 用于查询,并且创建一个
 <af:commandButton text="修改" action="SAU"/>

在faces-config.xml中配置index.jsp到edit.jsp的指向 'SAU'。

2、在edit页面创建student View Object对应的form 用于编辑 将classId字段设成LOV形式的,具体设置

<af:panelLabelAndMessage>
<af:panelHorizontal>
<af:outputLabel value="classId"/>
<af:inputText value="#{bindings.ClassId.inputValue}"
partialTriggers="classId"
required="#{bindings.ClassId.mandatory}"
columns="#{bindings.ClassId.displayWidth}"
binding="#{Student.classIdInput}">
<af:validator binding="#{bindings.ClassId.validator}"/>
<f:convertNumber groupingUsed="false"
pattern="#{bindings.ClassId.format}"/>
</af:inputText>
<af:commandLink id="classId" action="dialog:open"
returnListener="#{Student.handleReturn}">
<af:objectImage source="/images/searchicon_enabled.gif"/>
</af:commandLink>
</af:panelHorizontal>
</af:panelLabelAndMessage>

在在faces-config.xml中配置edit.jsp到findClass.jsp的指向 'dialog:open'。

3、在findClass.jsp页面中创建Class View Object对应的table 用于查询,并将table的binding赋值binding='#{ClassBean.resultTable}'.然后创建一个选择按钮
<af:commandButton text="选择" actionListener="#{ClassBean.returnObject}"/>

用于选择class后返回edit页面
4、创建ClassBean对应的class类

public class CLassBean {
private CoreTable resultTable;
private String classId;
public CLassBean() {
}
public void returnObject(ActionEvent actionEvent) {
JUCtrlValueBindingRef vb = (JUCtrlValueBindingRef)this.getResultTable().getSelectedRowData();
if(vb==null){
AdfFacesContext.getCurrentInstance().returnFromDialog(null,null);
return;
}
classId=vb.getRow().getAttribute("ClassId").toString();
this.setClassId(classId);
AdfFacesContext.getCurrentInstance().returnFromDialog(this,null);
}

public void setResultTable(CoreTable resultTable) {
this.resultTable = resultTable;
}

public CoreTable getResultTable() {
return resultTable;
}
public void setClassId(String classId) {
this.classId = classId;
}
public String getClassId() {
return classId;
}
}


5、创建index和edit页面对应的StudentBean类

public class StudentBean {
private CoreInputText classIdInput;
public StudentBean() {
}
public void handleReturn(ReturnEvent returnEvent) {
CLassBean cb = (CLassBean)returnEvent.getReturnValue();
if(cb==null){
return;
}
String classId=cb.getClassId();
this.getClassIdInput().setSubmittedValue(null);
this.getClassIdInput().setValue(classId);
AdfFacesContext.getCurrentInstance().addPartialTarget(this.getClassIdInput());
}

public void setClassIdInput(CoreInputText classIdInput) {
this.classIdInput = classIdInput;
}
public CoreInputText getClassIdInput() {
return classIdInput;
}
}


最后在index.jsp启动服务,进入edit页面,点击classId对应的LOV 看是否成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值