1. jsF怎麼動態添加復選框
這個並不是在於checkbox 而是在於你放到哪裡。。像你所說的就應該將這些數據放到<rich:datatable>裡面處理。。結合web bean。只需要將一個checkbox標簽放到前面就可以了。
2. jsf 的工作原理是怎樣的 它有什麼知識點
1。在新建的工程中添加jsf框架,將自動生成一web.xml文件。內容如下:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.faces</url-pattern> </servlet-mapping></web-app>
2。在src中編寫一個bean,不同於Struts的是這個bean將集合FormBean和ActionBean,這就和以前我們寫java類十分相似了,而且不用繼承任何特定類。寫好這個bean以後在WEB-INF下的faces-config.xml中加入下列一段代碼,將該bean轉換成jsf的managed Bean。
<managed-bean> <managed-bean-name>該bean的別名</managed-bean-name> <managed-bean-class> 該bean所在位置(包名+類名) </managed-bean-class> <managed-bean-scope>該bean的存在范圍(session,request,application,none四種)</managed-bean-scope> </managed-bean>
跳轉的映射是加入如下一段:
<navigation-rule> <from-view-id>/輸入的頁面名</from-view-id> <navigation-case> <from-outcome>代表跳轉到哪裡的字元串(這里可以隨便定義)</from-outcome> <to-view-id>/跳轉的頁面名</to-view-id> </navigation-case> </navigation-rule>
3。新建一個帶jsf標簽的jsp頁面,<body></body>中輸入如下代碼:
<f:view> <h:outputText value="#{backing bean名.欄位名}"></h:outputText> //要輸出到頁面的值 <h:form> //form <h:inputText value="#{backing bean名.欄位名}"></h:inputText><br/> //要輸入的欄位 <h:commandButton action="#{backing bean名.業務方法}" value="按鈕文字"></h:commandButton> </h:form> </f:view>
3. JSF 中。怎麼能讓多個復選框只能選取一個.!。
給每個復選框一個ONCLICK事件,點擊一個復選框時,設置其它復選框為FALSE
4. jsf中 點擊按鈕後跳轉 復選框選中的 沒存住
<t:selectBooleanCheckbox forceId="true" id="xzbz" value="#{zdzdBean.selectedId[row.YWLSH]}" style="width: 3em" valueChangeListener="#{zdzdBean.applySelected}">
</t:selectBooleanCheckbox>
value="#{row.YWLSH}" 這樣寫 你的table 中var=row是這樣的吧
valueChangeListener是JSF中提供的值變更監聽事件 是細粒度的action提交無返回值,request請求觸發zdzdBean的applySelected()方法去操作結果集
類里的方法這樣寫
/**
* 頁面中checkbox值變監聽器
*
*
*/
public void applySelected(ValueChangeEvent event) {
HtmlSelectBooleanCheckbox checkBox = ((HtmlSelectBooleanCheckbox) event
.getComponent());
SimplyApplyBasicInfoVO resultItem = (SimplyApplyBasicInfoVO) resultModel
.getRowData();
if (checkBox.getValue().equals((Object) true)) {
if (!selectedApply.contains(resultItem))
selectedApply.add(resultItem);
} else {
if (selectedApply.contains(resultItem))
selectedApply.remove(resultItem);
}
}
5. 今天使用jsf, 用selectManyCheckBox, 但selectItem太多了,我想把它弄成三列顯示,請各位大俠給點建議。
這個使用布局就可以實現。
selectManyCheckBox標簽中有屬性:layout
layout="pageDirection" 垂直定位,layout="lineDirection"水平定位,layout=「spread」特殊定位
layoutWidth=「2」 表示每行排兩個。 dir="ltr" 表示從左到右排。
如果你的情況特殊,那就使用特殊定位,想怎麼排就怎麼排,不過實現起來就比較復雜了。
希望對你有所幫助。
6. jsf的<h:selectManyCheckbox>標簽調用js函數
|if(document.getElementById("nianji_one").value==""
||document.getElementById("nianji_one").value==""){
------------代碼版權------------------
}else{
----------代碼-------------------
}
7. jsf頁面中有兩列復選框,要怎麼對復選框驗證,讓一行的兩個復選框必須選中
嗯,來我知道2種
1、前台頁自面中用script控制,就是在<h:inputText id="a1" value="" .../>中加onclick="函數();",然後在script腳本中對你必須選定的復選框的id,進行驗證,如果為空報錯並且,return false;
2、後台代碼中修改。前台數據裝入資料庫之前,有一個java程序會做中間的裝入前最後操作,這個java的特點就是有類似資料庫中的語法(尤其是 from 表名 等)。你在這個java裝入資料庫之前做if判斷,如果值為空就報錯就行了,當然需要判斷的是前台是否接收了這兩個值。
具體實現說不清楚,如果你有開發基礎,基本我的意思就能明白了
望採納
8. jsf標簽里單復選框默認值的問題
使用JSF,對於這樣的問題,是很簡單的。至少比jsp從後台取值要簡單。
舉例:
.xml文件中配置
<managed-bean>
<managed-bean-name>配置的Form名稱</managed-bean-name>
<managed-bean-class>
Form類的路徑
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
1、輸入框inputText
頁面:<h:inputText value="#{配置的Form名稱.屬性名}"/>
Form中:聲明屬性名,建立方法從後台獲得值,並傳值到屬性名,注意get & set
當跳轉到頁面時,就有值了。
2、下拉單選 selectOneMenu
頁面:<h:selectOneMenu value="#{配置的Form名稱.屬性名1}" >
<f:selectItems value="#{配置的Form名稱.屬性名2}" />
</h:selectOneMenu>
Form中:聲明屬性名1,屬性名2(這個肯定是集合了,如List<SelectItem>)
建立方法從後台獲得值,並傳值到屬性名2,注意get & set
希望對你有幫助。