我正在使用jdeveloper 11.1.2.0.0编写一个oracle ADF融合Web应用程序。在jspx页面中,我有一个下拉列表,该列表由菜单模型填充。我希望在浏览器中加载页面时显示它。 请给我一个主意。
由于 Sameera
答案 0 :(得分:1)
考虑使用其他类型的组件而不是下拉列表。 例如,如何使用迭代器来显示选项列表?
答案 1 :(得分:0)
没有编程(意味着javascript)方式触发本机下拉元素的公开。根据其他人的建议,请考虑使用不同的UI策略。也许af:表是可选的?
答案 2 :(得分:0)
确实没有直接或编程方式来模拟在下拉列表中触发点击事件以打开它,但您可以通过以下代码执行此操作。你需要的是:
提供SelectItem列表的bean是:
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
public class BackBean {
private List<SelectItem> options;
public BackBean() {
options = new ArrayList<SelectItem>(0);
options.add(new SelectItem("Option 1", "Option 1"));
options.add(new SelectItem("Option 2", "Option 2"));
options.add(new SelectItem("Option 3", "Option 3"));
options.add(new SelectItem("Option 4", "Option 4"));
options.add(new SelectItem("Option 5", "Option 5"));
}
public void setOptions(List<SelectItem> options) {
this.options = options;
}
public List<SelectItem> getOptions() {
return options;
}
}
jspx页面是:
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document title="Home" id="d1">
<af:form id="f1">
<af:resource type="javascript" source="/js/jquery-1.7.1.min.js"/>
<af:resource type="javascript" source="/js/ExpandSelect.js"/>
<af:panelStretchLayout id="psl1">
<f:facet name="center">
<af:selectOneChoice label="Menu" id="soc1" clientComponent="true" styleClass="menu">
<f:selectItems value="#{backingBeanScope.backBean.options}" id="si1"/>
</af:selectOneChoice>
</f:facet>
</af:panelStretchLayout>
</af:form>
<af:resource type="javascript">
$(document).ready(function(){
ExpandSelect(document.getElementById($($('.menu > tbody > tr > td').next().find('select')).attr('id')));
});
</af:resource>
</af:document>
</f:view>
</jsp:root>
以下是我的截图:
希望这会有所帮助。让我知道您的反馈意见。