JSF 下拉框
来源:互联网 发布:新网域名续费 编辑:程序博客网 时间:2024/04/29 04:55
jsf 下拉框其实很好用,就是<h:selectOneMenu ..../>标签,具体写法如下:
<table>
<tbody>
<tr>
<td width="101"><h:selectonemenu id="tsmCompanyId" value="#{loginBean.tsmCompanyId}" binding="#{webinput_dropDown.tsmCompanyId}"><f:selectitems value="#{webinput_dropDown.tsmCompanyIdList}"></f:selectitems></h:selectonemenu></td>
</tr>
<tr>
</tr>
</tbody>
</table>
<p> </p>
其中webinput_dropDown是绑定数据,提供UIInput的类的抽象,loginBean是需要绑定backing bean的类.webinput_dropDown.tsmCompanyId,这里的tsmCompanyId是UIInput,类的代码如下:
public class BaseSelectItemListBean {
private UIInput tsmCompanyId=null; public String[] getSelectedTsmCompanyIdes()
{
return getAsString(this.getTsmCompanyId().getValue());
}
private String[] getAsString(Object tmp) {
String[] result = null;
if (tmp!=null) {
if (tmp.getClass().isArray()) {
int size = Array.getLength(tmp);
if (size>0) {
result=new String[size];
for(int i=0; i<size; ++i) {
result[i] = (String) Array.get(tmp, i);
}
}
}
else {
result = new String[1];
result[0] = (String) tmp;
}
}
return result;
}
//****************
public String getTextValue() {
textValue = "";
String[] tsmCompanyIdes=getSelectedTsmCompanyIdes();
if(tsmCompanyIdes!=null) {
textValue=tsmCompanyIdes.length==1? "tcmCompanyId:": "tsmCompanyIdes:";
for(int i=0; i<tsmCompanyIdes.length; ++i) {
textValue +=" "+tsmCompanyIdes[i];
}
textValue += ". ";
}
return textValue;
}
public UIInput getTsmCompanyId() {
return tsmCompanyId;
}
public void setTsmCompanyId(UIInput tsmCompanyId) {
this.tsmCompanyId = tsmCompanyId;
}
//*******************获取公司的信息**************
public List getTsmCompanyIdList() {
return SelectItemDAO.getTsmCompanyIdList();
}
其中getTsmCompanyIdList方法封装在另一个类SelectItemDAO中,具体写法如下:
public class SelectItemDAO {
/**
* Return a list of Company
*
* @param returnOnlyMainOffices
* @return
*/
public static List getTsmCompanyIdList() {
List result = new ArrayList();
result.add(new SelectItem("-1", "请选择"));
List children = DaoFacade.getInstance().getSystemManager()
.getTsmCompanyDAO().findAllCompany();
TsmCompany tsmCompany = new TsmCompany();
if (children.size() > 0) {
for (int i = 0; i < children.size(); i++) {
tsmCompany = (TsmCompany) children.get(i);
result.add(new SelectItem(String.valueOf(tsmCompany.getId()),
tsmCompany.getCompanyName()));
}
}
return result;
}
}
如上的写法,通过hibernate和数据库交互,读出公司表中的信息.
所以使用JSF还是很方便的,在页面只需要一个<h..../>标签,在backing bean中再处理需要的逻辑.
- JSF 下拉框
- jsf的初步使用(包括jsf框架的引入、用户登录、自定义表单验证、valueChangeEvent值变更事件处理做的级联下拉框)
- paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结
- JSF中怎么使用Enum生成下拉列表
- JSF
- JSF
- JSF
- JSF
- JSF
- jsf
- jsf
- jsf
- jsf
- JSF
- jsf
- JSF
- JSF?
- JSF
- 从一个笑话看软件开发管理
- VC中IDE的一些使用小技巧
- msdb数据库置疑如何恢复?
- jboss-seam的配置问题
- Can we build a midware layer on P2PSIP overlay?
- JSF 下拉框
- some info on security of P2P SIP
- sssssssssssssssss
- Nokia提供的手机游戏以及内容的市场和渠道资料
- 可变类与不可变类(1)
- 2007/01/25 星期四 晴
- 不可变类的缓存
- 技术文章AJAX
- 一个很好的DIV层显示控件