`
maziheng
  • 浏览: 57098 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ADF配置 LOV

    博客分类:
  • ADF
阅读更多
创建 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 看是否成功。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics