亚洲欧美日韩熟女|做爱高潮视频网址|国产一区二区三级片|国产Av中文字幕www.性色av|亚洲婷婷永久免费|国产高清中文字幕|欧美变态网站久re视频精品|人妻AV鲁丝第一页|天堂AV一区二区在线观看|综合 91在线精品

JSF動(dòng)態(tài)表格實(shí)現(xiàn)

2023-04-12


最近一個(gè)查詢(xún),需要實(shí)現(xiàn)動(dòng)態(tài)列的展示,在官方例子中找了好久沒(méi)找到,最后搜索到一片文章,使用c標(biāo)簽和jsf標(biāo)簽結(jié)合可以實(shí)現(xiàn)。我簡(jiǎn)單模擬了一下,我具體的使用場(chǎng)景是,在頁(yè)面選擇不同的列展現(xiàn),現(xiàn)在我用文本框向后臺(tái)傳列名來(lái)模擬實(shí)現(xiàn)。





比如在上圖,我通過(guò)字段名向后臺(tái)傳參,點(diǎn)擊查詢(xún)后如下圖展示:




一開(kāi)始我以為jsf或者richfaces帶了相關(guān)的組件,通過(guò)查找資料,發(fā)現(xiàn)最新版本中沒(méi)有相關(guān)的實(shí)現(xiàn),通過(guò)搜索資料,發(fā)現(xiàn)有人用jstl標(biāo)簽來(lái)實(shí)現(xiàn)。


Bean代碼:


@ManagedBean(name = "dyncolumnBean")
@SessionScoped
public class DyncolumnBean extends BaseMBean{

	private List count;
	private List header;
	private String columnName;
	private int rowNum;
	
	private List dataList;
	private Map keyMap;
	
	private int columnNum;
	
	
	public void init(){
		columnName = "";
		columnNum = 3;
		dataList = new ArrayList();
		dataList.add(new User("李四", "30", "男"));
		dataList.add(new User("李四1", "31", "男"));
		dataList.add(new User("李四2", "32", "男"));
		dataList.add(new User("李四3", "33", "女"));
//		count = Arrays.asList(new Object[4]);  //數(shù)據(jù)行
		header = Arrays.asList(new String[]{"姓名","年齡","性別"});
		initKeyMap();
			
		
	}
	
	public void initKeyMap(){
		keyMap = new HashMap(){
			{
				put("姓名", "username");
				put("年齡", "userage");
				put("性別", "usersex");
				put("column1", "userco1");
				put("column2", "userco2");
				put("column3", "userco3");
				put("column4", "userco4");
				put("column5", "userco5");
				put("column6", "userco6");
				put("column7", "userco7");
				put("column8", "userco8");
			}
		};
	}
	
	public void initData(){
		if(rowNum > 0){
			for(int t=0;t();
			String[] coArr = columnName.split(",");
			header = Arrays.asList(coArr);
			columnNum = coArr.length;
			initData();
		}
	}


	public List getCount() {
		return count;
	}


	public void setCount(List count) {
		this.count = count;
	}


	public List getHeader() {
		return header;
	}


	public void setHeader(List header) {
		this.header = header;
	}


	public List getDataList() {
		return dataList;
	}

	public void setDataList(List dataList) {
		this.dataList = dataList;
	}

	public Map getKeyMap() {
		return keyMap;
	}

	public void setKeyMap(Map keyMap) {
		this.keyMap = keyMap;
	}

	public int getColumnNum() {
		return columnNum;
	}


	public void setColumnNum(int columnNum) {
		this.columnNum = columnNum;
	}
	
	
	
	public String getColumnName() {
		return columnName;
	}

	public void setColumnName(String columnName) {
		this.columnName = columnName;
	}

	public int getRowNum() {
		return rowNum;
	}

	public void setRowNum(int rowNum) {
		this.rowNum = rowNum;
	}



	public class User{
		private String username;
		private String userage;
		private String usersex;
		private String userco1;
		private String userco2;
		private String userco3;
		private String userco4;
		private String userco5;
		private String userco6;
		private String userco7;
		private String userco8;
		
		public User(String username, String userage, String usersex){
			this.username = username;
			this.userage = userage;
			this.usersex = usersex;
		}
		
		public User(String username, String userage, String usersex, String userco1,
				String userco2,String userco3,String userco4,String userco5,
				String userco6,String userco7,String userco8){
			this.username = username;
			this.userage = userage;
			this.usersex = usersex;
			this.userco1 = userco1;
			this.userco2 = userco2;
			this.userco3 = userco3;
			this.userco4 = userco4;
			this.userco5 = userco5;
			this.userco6 = userco6;
			this.userco7 = userco7;
			this.userco8 = userco8;
		}

		public String getUsername() {
			return username;
		}

		public void setUsername(String username) {
			this.username = username;
		}

		public String getUserage() {
			return userage;
		}

		public void setUserage(String userage) {
			this.userage = userage;
		}

		public String getUsersex() {
			return usersex;
		}

		public void setUsersex(String usersex) {
			this.usersex = usersex;
		}

		public String getUserco1() {
			return userco1;
		}

		public void setUserco1(String userco1) {
			this.userco1 = userco1;
		}

		public String getUserco2() {
			return userco2;
		}

		public void setUserco2(String userco2) {
			this.userco2 = userco2;
		}

		public String getUserco3() {
			return userco3;
		}

		public void setUserco3(String userco3) {
			this.userco3 = userco3;
		}

		public String getUserco4() {
			return userco4;
		}

		public void setUserco4(String userco4) {
			this.userco4 = userco4;
		}

		public String getUserco5() {
			return userco5;
		}

		public void setUserco5(String userco5) {
			this.userco5 = userco5;
		}

		public String getUserco6() {
			return userco6;
		}

		public void setUserco6(String userco6) {
			this.userco6 = userco6;
		}

		public String getUserco7() {
			return userco7;
		}

		public void setUserco7(String userco7) {
			this.userco7 = userco7;
		}

		public String getUserco8() {
			return userco8;
		}

		public void setUserco8(String userco8) {
			this.userco8 = userco8;
		}
		
	}
	
	
	
} 
    
   

頁(yè)面代碼:




  
    
    實(shí)驗(yàn)頁(yè)面
  
  
    動(dòng)態(tài)列
    操作
    
		
			
			
			
			
			
			
		
	
    
        
          
            
              
                
              
              
            
          
        
	

這種使用場(chǎng)景下,都可以使用C標(biāo)簽來(lái)處理,如果需要固定數(shù)據(jù)列和數(shù)據(jù)列的篩選、排序等,可以使用ExtendedDataTable來(lái)實(shí)現(xiàn)。


本文僅代表作者觀點(diǎn),版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請(qǐng)?jiān)谖闹凶⒚鱽?lái)源及作者名字。

免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請(qǐng)及時(shí)與我們聯(lián)系進(jìn)行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com