首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

ADF配备 LOV

2012-09-20 
ADF配置 LOV创建 Student和Class表(假设表已经建好,并且 对应的Entity Object和View Object都已配好). 第

ADF配置 LOV
创建 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 看是否成功。

热点排行